Device, method, and graphical user interface for media playback

ABSTRACT

In accordance with some embodiments, a method is performed at a device with one or more processors, non-transitory memory, a display, and an input device. The method includes displaying, on the display, a playback status indicator regarding playback of a media item. The method includes displaying, on the display, an image associated with the media item. The method includes detecting an input interacting with the image. In response to a first portion of the input, the method includes adjusting the appearance of the image on the display in accordance with the first portion of the input. In response to a second portion of the input, the method includes changing playback of media items on the device in accordance with the input in accordance with the second portion of the input.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of and claims priority toU.S. patent application Ser. No. 15/273,969, filed on Sep. 23, 2016,which claims priority to U.S. patent application No. 62/348,971, filedon Jun. 12, 2016, which are hereby incorporated by reference in theirentirety.

TECHNICAL FIELD

This relates generally to electronic devices with touch-sensitivesurfaces, including but not limited to electronic devices withtouch-sensitive surfaces that enable playback of media items.

BACKGROUND

The use of touch-sensitive surfaces as input devices for computers andother electronic computing devices has increased significantly in recentyears. Example touch-sensitive surfaces include touchpads andtouch-screen displays. Such surfaces are widely used to manipulate userinterface objects on a display.

Example manipulations include adjusting the position and/or size of oneor more user interface objects or activating buttons or openingfiles/applications represented by user interface objects, as well asassociating metadata with one or more user interface objects orotherwise manipulating user interfaces. Example user interface objectsinclude digital images, video, text, icons, control elements such asbuttons and other graphics. A user will, in some circumstances, need toperform such manipulations on user interface objects in a filemanagement program (e.g., Finder from Apple Inc. of Cupertino, Calif.),an image management application (e.g., Aperture, iPhoto, Photos fromApple Inc. of Cupertino, Calif.), a digital content (e.g., videos andmusic) management application (e.g., iTunes from Apple Inc. ofCupertino, Calif.), a drawing application, a presentation application(e.g., Keynote from Apple Inc. of Cupertino, Calif.), a word processingapplication (e.g., Pages from Apple Inc. of Cupertino, Calif.), awebsite creation application (e.g., iWeb from Apple Inc. of Cupertino,Calif.), a disk authoring application (e.g., iDVD from Apple Inc. ofCupertino, Calif.), or a spreadsheet application (e.g., Numbers fromApple Inc. of Cupertino, Calif.).

But methods for performing these manipulations are cumbersome andinefficient. For example, using a sequence of mouse-based inputs toselect one or more user interface objects and perform one or moreactions on the selected user interface objects is tedious and creates asignificant cognitive burden on a user. In addition, these methods takelonger than necessary, thereby wasting energy. This latter considerationis particularly important in battery-operated devices.

SUMMARY

Accordingly, there is a need for electronic devices with faster, moreefficient methods and interfaces for playing back media items. Suchmethods and interfaces optionally complement or replace conventionalmethods for playing back media items. Such methods and interfaces reducethe cognitive burden on a user and produce a more efficienthuman-machine interface. For battery-operated devices, such methods andinterfaces conserve power and increase the time between battery charges.

The above deficiencies and other problems associated with userinterfaces for electronic devices with touch-sensitive surfaces arereduced or eliminated by the disclosed devices. In some embodiments, thedevice is a desktop computer. In some embodiments, the device isportable (e.g., a notebook computer, tablet computer, or handhelddevice). In some embodiments, the device has a touchpad. In someembodiments, the device has a touch-sensitive display (also known as a“touch screen” or “touch-screen display”). In some embodiments, thedevice has a graphical user interface (GUI), one or more processors,memory and one or more modules, programs or sets of instructions storedin the memory for performing multiple functions. In some embodiments,the user interacts with the GUI primarily through stylus and/or fingercontacts and gestures on the touch-sensitive surface. In someembodiments, the functions optionally include image editing, drawing,presenting, word processing, website creating, disk authoring,spreadsheet making, game playing, telephoning, video conferencing,e-mailing, instant messaging, workout support, digital photographing,digital videoing, web browsing, digital music playing, and/or digitalvideo playing. Executable instructions for performing these functionsare, optionally, included in a non-transitory computer readable storagemedium or other computer program product configured for execution by oneor more processors.

In accordance with some embodiments, a method is performed at a devicewith one or more processors, non-transitory memory, a display, and aninput device. The method includes displaying, on the display, a playbackstatus indicator regarding playback of a media item, displaying, on thedisplay, an image associated with the media item, detecting an inputinteracting with the image, in response to a first portion of the input,adjusting the appearance of the image on the display in accordance withthe first portion of the input, and, in response to a second portion ofthe input, changing playback of media items on the device in accordancewith the input in accordance with the second portion of the input.

In accordance with some embodiments, a method is performed at a devicewith one or more processors, non-transitory memory, a display, and aninput device. The method includes while playing a first media item in aqueue of media items, detecting a request to add a second media item tothe queue, in response to detecting the request to add the second mediaitem to the queue, in accordance with a determination that the firstmedia item meets group-sensitive queueing criteria, wherein thegroup-sensitive queuing criteria include a criterion that is met whenthe first media item is part of a predefined group of media items in thequeue, providing an option to add the second media item to the queueafter the media items in the predefined group that are in the queueafter the first media item, and in accordance with a determination thatthe first media item does not meet the group-sensitive queueingcriteria, providing an option to add the second media item to the queueafter the first media item and before any other media items that are inthe queue.

In accordance with some embodiments, a method is performed at a devicewith one or more processors, non-transitory memory, a display, and aninput device. The method includes, while a plurality of media items arestored on the device, detecting the occurrence of a condition thatcorresponds to a request to free storage on the device, wherein theplurality of media items uses a first amount of storage on the deviceand a minimum amount of storage on the device has been reserved formedia items, in response to detecting the occurrence of the conditionwhile the plurality of media items uses the first amount of storage, inaccordance with a determination that the first amount of storage on thedevice is greater than the minimum amount of storage on the device thathas been reserved for media items, deleting one or more of the pluralityof media items, and, in accordance with a determination that the firstamount of storage on the device is less than the minimum amount ofstorage on the device that has been reserved for media items, forgoingdeleting one or more of the plurality of media items from the device.

In accordance with some embodiments, a method is performed at a devicewith one or more processors, non-transitory memory, a display, and aninput device. The method includes displaying, on the display, arepresentation of a first automatically-generated playlist, therepresentation of the first automatically-generated playlist includingrepresentations of a first set of media items selected for inclusion inthe first automatically-generated playlist based on first playlistgeneration criteria for the first automatically-generated playlist,while displaying the representation of the first automatically-generatedplaylist, detecting user interaction with the representations of thefirst set of media items, after detecting the user interaction with therepresentations of the first set of media items, detecting that a firstupdate criterion for the first automatically-generated playlist has beenmet, and, in response to detecting that the first update criterion hasbeen met, updating the first set of media items based on the firstplaylist generation criteria and the user interaction with therepresentations of the first set of media items, wherein updating thefirst set of media items includes adding one or more added media itemsto the first set of media items, removing one or more removed mediaitems from the first set of media items, and maintaining a plurality ofmaintained media items in the first set of media items, and, afterupdating the first set of media items, the method includes displaying,on the display, an updated representation of the firstautomatically-generated playlist, the updated representation of thefirst automatically-generated playlist including representations of theupdated first set of media items

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, one or more inputunits configured to receive user inputs, and a processing unit coupledwith the display unit and the one or more input units. The processingunit is configured to display, on the display unit, a playback statusindicator regarding playback of a media item, display, on the displayunit, an image associated with the media item, detecting an inputinteracting with the image, in response to a first portion of the input,adjust the appearance of the image on the display unit in accordancewith the first portion of the input, and, in response to a secondportion of the input, change playback of media items on the device inaccordance with the input in accordance with the second portion of theinput.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, one or more inputunits configured to receive user inputs, and a processing unit coupledwith the display unit and the one or more input units. The processingunit is configured to, while playing a first media item in a queue ofmedia items, detect a request to add a second media item to the queue,in response to detecting the request to add the second media item to thequeue, in accordance with a determination that the first media itemmeets group-sensitive queueing criteria, wherein the group-sensitivequeuing criteria include a criterion that is met when the first mediaitem is part of a predefined group of media items in the queue, providean option to add the second media item to the queue after the mediaitems in the predefined group that are in the queue after the firstmedia item, and, in accordance with a determination that the first mediaitem does not meet the group-sensitive queueing criteria, providing anoption to add the second media item to the queue after the first mediaitem and before any other media items that are in the queue.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, one or more inputunits configured to receive user inputs, and a processing unit coupledwith the display unit and the one or more input units. The processingunit is configured to, while a plurality of media items are stored onthe device, detect the occurrence of a condition that corresponds to arequest to free storage on the device, wherein the plurality of mediaitems uses a first amount of storage on the device and a minimum amountof storage on the device has been reserved for media items, in responseto detecting the occurrence of the condition while the plurality ofmedia items uses the first amount of storage, in accordance with adetermination that the first amount of storage on the device is greaterthan the minimum amount of storage on the device that has been reservedfor media items, delete one or more of the plurality of media items,and, in accordance with a determination that the first amount of storageon the device is less than the minimum amount of storage on the devicethat has been reserved for media items, forgo deleting one or more ofthe plurality of media items from the device.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, one or more inputunits configured to receive user inputs, and a processing unit coupledwith the display unit and the one or more input units. The processingunit is configured to display, on the display unit, a representation ofa first automatically-generated playlist, the representation of thefirst automatically-generated playlist including representations of afirst set of media items selected for inclusion in the firstautomatically-generated playlist based on first playlist generationcriteria for the first automatically-generated playlist, whiledisplaying the representation of the first automatically-generatedplaylist, detect user interaction with the representations of the firstset of media items, after detecting the user interaction with therepresentations of the first set of media items, detect that a firstupdate criterion for the first automatically-generated playlist has beenmet, and, in response to detecting that the first update criterion hasbeen met, update the first set of media items based on the firstplaylist generation criteria and the user interaction with therepresentations of the first set of media items, wherein updating thefirst set of media items includes adding one or more added media itemsto the first set of media items, removing one or more removed mediaitems from the first set of media items, and maintaining a plurality ofmaintained media items in the first set of media items, and theprocessing unit is configured to, after updating the first set of mediaitems, display, on the display unit, an updated representation of thefirst automatically-generated playlist, the updated representation ofthe first automatically-generated playlist including representations ofthe updated first set of media items.

In accordance with some embodiments, an electronic device includes adisplay, an input device, one or more processors, non-transitory memory,and one or more programs; the one or more programs are stored in thenon-transitory memory and configured to be executed by the one or moreprocessors and the one or more programs include instructions forperforming or causing performance of the operations of any of themethods described herein. In accordance with some embodiments, anon-transitory computer readable storage medium has stored thereininstructions which when executed by one or more processors of anelectronic device with a display and an input device, cause the deviceto perform or cause performance of the operations of any of the methodsdescribed herein. In accordance with some embodiments, a graphical userinterface on an electronic device with a display, an input device, amemory, and one or more processors to execute one or more programsstored in the non-transitory memory includes one or more of the elementsdisplayed in any of the methods described above, which are updated inresponse to inputs, as described in any of the methods described herein.In accordance with some embodiments, an electronic device includes: adisplay, an input device; and means for performing or causingperformance of the operations of any of the methods described herein. Inaccordance with some embodiments, an information processing apparatus,for use in an electronic device with a display and an input device,includes means for performing or causing performance of the operationsof any of the methods described herein.

Thus, electronic devices with displays, touch-sensitive surfaces andoptionally one or more sensors to detect intensity of contacts with thetouch-sensitive surface are provided with faster, more efficient methodsand interfaces for playing back media items, thereby increasing theeffectiveness, efficiency, and user satisfaction with such devices. Suchmethods and interfaces may complement or replace conventional methodsfor playing back media items.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the various described embodiments,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some embodiments.

FIG. 1B is a block diagram illustrating example components for eventhandling in accordance with some embodiments.

FIG. 2 illustrates a portable multifunction device having a touch screenin accordance with some embodiments.

FIG. 3 is a block diagram of an example multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments.

FIG. 4A illustrates an example user interface for a menu of applicationson a portable multifunction device in accordance with some embodiments.

FIG. 4B illustrates an example user interface for a multifunction devicewith a touch-sensitive surface that is separate from the display inaccordance with some embodiments.

FIGS. 5A-5CT illustrate example user interfaces for playing back mediaitems in accordance with some embodiments.

FIGS. 6A-6E are flow diagrams illustrating a method of playing backmedia items in accordance with some embodiments.

FIGS. 7A-7B are flow diagrams illustrating a method of queuing a mediaitem in accordance with some embodiments.

FIGS. 8A-8D are flow diagrams illustrating a method of managing storageof media items in accordance with some embodiments.

FIGS. 9A-9E are flow diagrams illustrating a method of updating aplaylist in accordance with some embodiments.

FIGS. 10-13 are functional block diagrams of an electronic device inaccordance with some embodiments.

DESCRIPTION OF EMBODIMENTS

Many electronic devices have graphical user interfaces for playing backmedia items. In some such media player user interfaces, an imageassociated with a media item being played back is displayed inconjunction with playback of the media item. For example, while playinga song (e.g., through a speaker), album art associated with an album ofthe song is displayed (e.g., on a display). When the image is displayedon a touch-sensitive surface, the display region of the image occupiesdisplay space that could be otherwise occupied by interactionaffordances allowing a user to change playback of media items.Accordingly, in embodiments described below, the image itself isconfigured as an interaction affordance that allows a user to changeplayback of media items. For example, in response to detecting a touchon the image, the device pauses or plays the media item. As anotherexample, in response to a swipe over the image, the device plays adifferent media item.

While playing a media item, a user can desire to play other media itemswithout interrupting playback of the current media item. Thus, manyelectronic devices include affordances for adding media items to aqueue. However, in some cases, a user can desire to play other mediaitems without interrupting playback of a predefined group of media itemsto which the media item belongs (e.g., an album of a song or a playlistincluding the song). Accordingly, in embodiments described below,options are provided for adding media items to queue to be played afternot just the currently playing media item, but after a predefined groupof media items to which the media item belongs.

Users may enjoy consuming a large number of media items. However, alarge number of media items stored on an electronic device can use alarge amount of storage, preventing other storage operations, such asstorage of applications. Some electronic devices can delete media itemsstored by the electronic device in order to free storage for otherstorage operations. In some cases, this may result in an undesirably lowamount of media items stored on the electronic device. Accordingly, inembodiments described below, a user is provided with an option toreserve an amount of storage of the electronic device for media items.The electronic device is allowed to delete media items in order toperform other storage operations, but must maintain at least a thresholdamount of media items in storage.

The creation of media item playlists can be an arduous task. Further,such playlists rarely include media items with which a user inunfamiliar, yet may enjoy. Automatically-generated playlist or playlistscurated by third parties can include media items with which a user inunfamiliar, but does not enjoy. Accordingly, in embodiments describedbelow, playlists are automatically generated based on user interactionswith media items and, in various implementations, a theme. Further, theplaylists are automatically updated based on user interactions with themedia items of the automatically-generated playlist, removing mediaitems the user does not enjoy and adding media items the user is morelikely to enjoy. Thus, over time, the playlist includes media items theuser enjoys and frequently includes media items with which the user inunfamiliar, but is likely to enjoy.

Below, FIGS. 1A-1B, 2, and 3 provide a description of example devices.FIGS. 4A-4B and 5A-5CT illustrate example user interfaces for playingback media items. FIGS. 6A-6E illustrate a flow diagram of a method ofplaying back media items. FIGS. 7A-7B illustrate a flow diagram of amethod of queuing a media item. FIGS. 8A-8D illustrate a flow diagram ofa method of managing storage of media items. FIGS. 9A-9E illustrate aflow diagram of a method of updating a playlist. The user interfaces inFIGS. 5A-5CT are used to illustrate the processes in FIGS. 6A-6E, 7A-7B,8A-8D, and 9A-9E.

Example Devices

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the various described embodiments. However,it will be apparent to one of ordinary skill in the art that the variousdescribed embodiments may be practiced without these specific details.In other instances, well-known methods, procedures, components,circuits, and networks have not been described in detail so as not tounnecessarily obscure aspects of the embodiments.

It will also be understood that, although the terms first, second, etc.are, in some instances, used herein to describe various elements, theseelements should not be limited by these terms. These terms are only usedto distinguish one element from another. For example, a first contactcould be termed a second contact, and, similarly, a second contact couldbe termed a first contact, without departing from the scope of thevarious described embodiments. The first contact and the second contactare both contacts, but they are not the same contact, unless the contextclearly indicates otherwise.

The terminology used in the description of the various describedembodiments herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used in thedescription of the various described embodiments and the appendedclaims, the singular forms “a,” “an,” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “includes,” “including,” “comprises,” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

As used herein, the term “if” is, optionally, construed to mean “when”or “upon” or “in response to determining” or “in response to detecting,”depending on the context. Similarly, the phrase “if it is determined” or“if [a stated condition or event] is detected” is, optionally, construedto mean “upon determining” or “in response to determining” or “upondetecting [the stated condition or event]” or “in response to detecting[the stated condition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Example embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch-screen displays and/or touchpads), are,optionally, used. It should also be understood that, in someembodiments, the device is not a portable communications device, but isa desktop computer with a touch-sensitive surface (e.g., a touch-screendisplay and/or a touchpad).

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device optionally includes oneor more other physical user-interface devices, such as a physicalkeyboard, a mouse and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that are executed on the device optionally useat least one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the deviceare, optionally, adjusted and/or varied from one application to the nextand/or within a respective application. In this way, a common physicalarchitecture (such as the touch-sensitive surface) of the deviceoptionally supports the variety of applications with user interfacesthat are intuitive and transparent to the user.

Attention is now directed toward embodiments of portable devices withtouch-sensitive displays. FIG. 1A is a block diagram illustratingportable multifunction device 100 with touch-sensitive display system112 in accordance with some embodiments. Touch-sensitive display system112 is sometimes called a “touch screen” for convenience, and issometimes simply called a touch-sensitive display. Device 100 includesmemory 102 (which optionally includes one or more computer readablestorage mediums), memory controller 122, one or more processing units(CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry110, speaker 111, microphone 113, input/output (I/O) subsystem 106,other input or control devices 116, and external port 124. Device 100optionally includes one or more optical sensors 164. Device 100optionally includes one or more intensity sensors 165 for detectingintensity of contacts on device 100 (e.g., a touch-sensitive surfacesuch as touch-sensitive display system 112 of device 100). Device 100optionally includes one or more tactile output generators 163 forgenerating tactile outputs on device 100 (e.g., generating tactileoutputs on a touch-sensitive surface such as touch-sensitive displaysystem 112 of device 100 or touchpad 355 of device 300). Thesecomponents optionally communicate over one or more communication busesor signal lines 103.

As used in the specification and claims, the term “tactile output”refers to physical displacement of a device relative to a previousposition of the device, physical displacement of a component (e.g., atouch-sensitive surface) of a device relative to another component(e.g., housing) of the device, or displacement of the component relativeto a center of mass of the device that will be detected by a user withthe user's sense of touch. For example, in situations where the deviceor the component of the device is in contact with a surface of a userthat is sensitive to touch (e.g., a finger, palm, or other part of auser's hand), the tactile output generated by the physical displacementwill be interpreted by the user as a tactile sensation corresponding toa perceived change in physical characteristics of the device or thecomponent of the device. For example, movement of a touch-sensitivesurface (e.g., a touch-sensitive display or trackpad) is, optionally,interpreted by the user as a “down click” or “up click” of a physicalactuator button. In some cases, a user will feel a tactile sensationsuch as an “down click” or “up click” even when there is no movement ofa physical actuator button associated with the touch-sensitive surfacethat is physically pressed (e.g., displaced) by the user's movements. Asanother example, movement of the touch-sensitive surface is, optionally,interpreted or sensed by the user as “roughness” of the touch-sensitivesurface, even when there is no change in smoothness of thetouch-sensitive surface. While such interpretations of touch by a userwill be subject to the individualized sensory perceptions of the user,there are many sensory perceptions of touch that are common to a largemajority of users. Thus, when a tactile output is described ascorresponding to a particular sensory perception of a user (e.g., an “upclick,” a “down click,” “roughness”), unless otherwise stated, thegenerated tactile output corresponds to physical displacement of thedevice or a component thereof that will generate the described sensoryperception for a typical (or average) user.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 optionally has moreor fewer components than shown, optionally combines two or morecomponents, or optionally has a different configuration or arrangementof the components. The various components shown in FIG. 1A areimplemented in hardware, software, firmware, or a combination thereof,including one or more signal processing and/or application specificintegrated circuits.

Memory 102 optionally includes high-speed random access memory andoptionally also includes non-volatile memory, such as one or moremagnetic disk storage devices, flash memory devices, or othernon-volatile solid-state memory devices. Access to memory 102 by othercomponents of device 100, such as CPU(s) 120 and the peripheralsinterface 118, is, optionally, controlled by memory controller 122.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU(s) 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data.

In some embodiments, peripherals interface 118, CPU(s) 120, and memorycontroller 122 are, optionally, implemented on a single chip, such aschip 104. In some other embodiments, they are, optionally, implementedon separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 optionally includes well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 optionally communicates with networks, such as theInternet, also referred to as the World Wide Web (WWW), an intranetand/or a wireless network, such as a cellular telephone network, awireless local area network (LAN) and/or a metropolitan area network(MAN), and other devices by wireless communication. The wirelesscommunication optionally uses any of a plurality of communicationsstandards, protocols and technologies, including but not limited toGlobal System for Mobile Communications (GSM), Enhanced Data GSMEnvironment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a,IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g and/or IEEE802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol fore-mail (e.g., Internet message access protocol (IMAP) and/or post officeprotocol (POP)), instant messaging (e.g., extensible messaging andpresence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data is, optionally,retrieved from and/or transmitted to memory 102 and/or RF circuitry 108by peripherals interface 118. In some embodiments, audio circuitry 110also includes a headset jack (e.g., 212, FIG. 2). The headset jackprovides an interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch-sensitive display system 112 and other input or control devices116, with peripherals interface 118. I/O subsystem 106 optionallyincludes display controller 156, optical sensor controller 158,intensity sensor controller 159, haptic feedback controller 161, and oneor more input controllers 160 for other input or control devices. Theone or more input controllers 160 receive/send electrical signalsfrom/to other input or control devices 116. The other input or controldevices 116 optionally include physical buttons (e.g., push buttons,rocker buttons, etc.), dials, slider switches, joysticks, click wheels,and so forth. In some alternate embodiments, input controller(s) 160are, optionally, coupled with any (or none) of the following: akeyboard, infrared port, USB port, stylus, and/or a pointer device suchas a mouse. The one or more buttons (e.g., 208, FIG. 2) optionallyinclude an up/down button for volume control of speaker 111 and/ormicrophone 113. The one or more buttons optionally include a push button(e.g., 206, FIG. 2).

Touch-sensitive display system 112 provides an input interface and anoutput interface between the device and a user. Display controller 156receives and/or sends electrical signals from/to touch-sensitive displaysystem 112. Touch-sensitive display system 112 displays visual output tothe user. The visual output optionally includes graphics, text, icons,video, and any combination thereof (collectively termed “graphics”). Insome embodiments, some or all of the visual output corresponds touser-interface objects.

Touch-sensitive display system 112 has a touch-sensitive surface, sensoror set of sensors that accepts input from the user based onhaptic/tactile contact. Touch-sensitive display system 112 and displaycontroller 156 (along with any associated modules and/or sets ofinstructions in memory 102) detect contact (and any movement or breakingof the contact) on touch-sensitive display system 112 and converts thedetected contact into interaction with user-interface objects (e.g., oneor more soft keys, icons, web pages or images) that are displayed ontouch-sensitive display system 112. In an example embodiment, a point ofcontact between touch-sensitive display system 112 and the usercorresponds to a finger of the user or a stylus.

Touch-sensitive display system 112 optionally uses LCD (liquid crystaldisplay) technology, LPD (light emitting polymer display) technology, orLED (light emitting diode) technology, although other displaytechnologies are used in other embodiments. Touch-sensitive displaysystem 112 and display controller 156 optionally detect contact and anymovement or breaking thereof using any of a plurality of touch sensingtechnologies now known or later developed, including but not limited tocapacitive, resistive, infrared, and surface acoustic wave technologies,as well as other proximity sensor arrays or other elements fordetermining one or more points of contact with touch-sensitive displaysystem 112. In an example embodiment, projected mutual capacitancesensing technology is used, such as that found in the iPhone®, iPodTouch®, and iPad® from Apple Inc. of Cupertino, Calif.

Touch-sensitive display system 112 optionally has a video resolution inexcess of 100 dpi. In some embodiments, the touch screen videoresolution is in excess of 400 dpi (e.g., 500 dpi, 800 dpi, or greater).The user optionally makes contact with touch-sensitive display system112 using any suitable object or appendage, such as a stylus, a finger,and so forth. In some embodiments, the user interface is designed towork with finger-based contacts and gestures, which can be less precisethan stylus-based input due to the larger area of contact of a finger onthe touch screen. In some embodiments, the device translates the roughfinger-based input into a precise pointer/cursor position or command forperforming the actions desired by the user.

In some embodiments, in addition to the touch screen, device 100optionally includes a touchpad (not shown) for activating ordeactivating particular functions. In some embodiments, the touchpad isa touch-sensitive area of the device that, unlike the touch screen, doesnot display visual output. The touchpad is, optionally, atouch-sensitive surface that is separate from touch-sensitive displaysystem 112 or an extension of the touch-sensitive surface formed by thetouch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 optionally includes a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light-emittingdiode (LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 optionally also includes one or more optical sensors 164.FIG. 1A shows an optical sensor coupled with optical sensor controller158 in I/O subsystem 106. Optical sensor(s) 164 optionally includecharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. Optical sensor(s) 164 receive light from theenvironment, projected through one or more lens, and converts the lightto data representing an image. In conjunction with imaging module 143(also called a camera module), optical sensor(s) 164 optionally capturestill images and/or video. In some embodiments, an optical sensor islocated on the back of device 100, opposite touch-sensitive displaysystem 112 on the front of the device, so that the touch screen isenabled for use as a viewfinder for still and/or video imageacquisition. In some embodiments, another optical sensor is located onthe front of the device so that the user's image is obtained (e.g., forselfies, for videoconferencing while the user views the other videoconference participants on the touch screen, etc.).

Device 100 optionally also includes one or more contact intensitysensors 165. FIG. 1A shows a contact intensity sensor coupled withintensity sensor controller 159 in I/O subsystem 106. Contact intensitysensor(s) 165 optionally include one or more piezoresistive straingauges, capacitive force sensors, electric force sensors, piezoelectricforce sensors, optical force sensors, capacitive touch-sensitivesurfaces, or other intensity sensors (e.g., sensors used to measure theforce (or pressure) of a contact on a touch-sensitive surface). Contactintensity sensor(s) 165 receive contact intensity information (e.g.,pressure information or a proxy for pressure information) from theenvironment. In some embodiments, at least one contact intensity sensoris collocated with, or proximate to, a touch-sensitive surface (e.g.,touch-sensitive display system 112). In some embodiments, at least onecontact intensity sensor is located on the back of device 100, oppositetouch-screen display system 112 which is located on the front of device100.

Device 100 optionally also includes one or more proximity sensors 166.FIG. 1A shows proximity sensor 166 coupled with peripherals interface118. Alternately, proximity sensor 166 is coupled with input controller160 in I/O subsystem 106. In some embodiments, the proximity sensorturns off and disables touch-sensitive display system 112 when themultifunction device is placed near the user's ear (e.g., when the useris making a phone call).

Device 100 optionally also includes one or more tactile outputgenerators 163. FIG. 1A shows a tactile output generator coupled withhaptic feedback controller 161 in I/O subsystem 106. Tactile outputgenerator(s) 163 optionally include one or more electroacoustic devicessuch as speakers or other audio components and/or electromechanicaldevices that convert energy into linear motion such as a motor,solenoid, electroactive polymer, piezoelectric actuator, electrostaticactuator, or other tactile output generating component (e.g., acomponent that converts electrical signals into tactile outputs on thedevice). Tactile output generator(s) 163 receive tactile feedbackgeneration instructions from haptic feedback module 133 and generatestactile outputs on device 100 that are capable of being sensed by a userof device 100. In some embodiments, at least one tactile outputgenerator is collocated with, or proximate to, a touch-sensitive surface(e.g., touch-sensitive display system 112) and, optionally, generates atactile output by moving the touch-sensitive surface vertically (e.g.,in/out of a surface of device 100) or laterally (e.g., back and forth inthe same plane as a surface of device 100). In some embodiments, atleast one tactile output generator sensor is located on the back ofdevice 100, opposite touch-sensitive display system 112, which islocated on the front of device 100.

Device 100 optionally also includes one or more accelerometers 167,gyroscopes 168, and/or magnetometers 169 (e.g., as part of an inertialmeasurement unit (IMU)) for obtaining information concerning theposition (e.g., attitude) of the device. FIG. 1A shows sensors 167, 168,and 169 coupled with peripherals interface 118. Alternately, sensors167, 168, and 169 are, optionally, coupled with an input controller 160in I/O subsystem 106. In some embodiments, information is displayed onthe touch-screen display in a portrait view or a landscape view based onan analysis of data received from the one or more accelerometers. Device100 optionally includes a GPS (or GLONASS or other global navigationsystem) receiver (not shown) for obtaining information concerning thelocation of device 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, haptic feedback module (orset of instructions) 133, text input module (or set of instructions)134, Global Positioning System (GPS) module (or set of instructions)135, and applications (or sets of instructions) 136. Furthermore, insome embodiments, memory 102 stores device/global internal state 157, asshown in FIGS. 1A and 3. Device/global internal state 157 includes oneor more of: active application state, indicating which applications, ifany, are currently active; display state, indicating what applications,views or other information occupy various regions of touch-sensitivedisplay system 112; sensor state, including information obtained fromthe device's various sensors and other input or control devices 116; andlocation and/or positional information concerning the device's locationand/or attitude.

Operating system 126 (e.g., iOS, Darwin, RTXC, LINUX, UNIX, OS X,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with the30-pin connector used in some iPhone®, iPod Touch®, and iPad® devicesfrom Apple Inc. of Cupertino, Calif. In some embodiments, the externalport is a Lightning connector that is the same as, or similar to and/orcompatible with the Lightning connector used in some iPhone®, iPodTouch®, and iPad® devices from Apple Inc. of Cupertino, Calif.

Contact/motion module 130 optionally detects contact withtouch-sensitive display system 112 (in conjunction with displaycontroller 156) and other touch-sensitive devices (e.g., a touchpad orphysical click wheel). Contact/motion module 130 includes softwarecomponents for performing various operations related to detection ofcontact (e.g., by a finger or by a stylus), such as determining ifcontact has occurred (e.g., detecting a finger-down event), determiningan intensity of the contact (e.g., the force or pressure of the contactor a substitute for the force or pressure of the contact), determiningif there is movement of the contact and tracking the movement across thetouch-sensitive surface (e.g., detecting one or more finger-draggingevents), and determining if the contact has ceased (e.g., detecting afinger-up event or a break in contact). Contact/motion module 130receives contact data from the touch-sensitive surface. Determiningmovement of the point of contact, which is represented by a series ofcontact data, optionally includes determining speed (magnitude),velocity (magnitude and direction), and/or an acceleration (a change inmagnitude and/or direction) of the point of contact. These operationsare, optionally, applied to single contacts (e.g., one finger contactsor stylus contacts) or to multiple simultaneous contacts (e.g.,“multitouch”/multiple finger contacts and/or stylus contacts). In someembodiments, contact/motion module 130 and display controller 156 detectcontact on a touchpad.

Contact/motion module 130 optionally detects a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns (e.g., different motions, timings, and/or intensities ofdetected contacts). Thus, a gesture is, optionally, detected bydetecting a particular contact pattern. For example, detecting a fingertap gesture includes detecting a finger-down event followed by detectinga finger-up (lift off) event at the same position (or substantially thesame position) as the finger-down event (e.g., at the position of anicon). As another example, detecting a finger swipe gesture on thetouch-sensitive surface includes detecting a finger-down event followedby detecting one or more finger-dragging events, and subsequentlyfollowed by detecting a finger-up (lift off) event. Similarly, tap,swipe, drag, and other gestures are optionally detected for a stylus bydetecting a particular contact pattern for the stylus.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch-sensitive display system 112or other display, including components for changing the visual impact(e.g., brightness, transparency, saturation, contrast or other visualproperty) of graphics that are displayed. As used herein, the term“graphics” includes any object that can be displayed to a user,including without limitation text, web pages, icons (such asuser-interface objects including soft keys), digital images, videos,animations and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic is, optionally, assigned acorresponding code. Graphics module 132 receives, from applicationsetc., one or more codes specifying graphics to be displayed along with,if necessary, coordinate data and other graphic property data, and thengenerates screen image data to output to display controller 156.

Haptic feedback module 133 includes various software components forgenerating instructions used by tactile output generator(s) 163 toproduce tactile outputs at one or more locations on device 100 inresponse to user interactions with device 100.

Text input module 134, which is, optionally, a component of graphicsmodule 132, provides soft keyboards for entering text in variousapplications (e.g., contacts 137, e-mail 140, IM 141, browser 147, andany other application that needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing, to camera 143 as picture/video metadata,and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 optionally include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   contacts module 137 (sometimes called an address book or contact        list);    -   telephone module 138;    -   video conferencing module 139;    -   e-mail client module 140;    -   instant messaging (IM) module 141;    -   workout support module 142;    -   camera module 143 for still and/or video images;    -   image management module 144;    -   browser module 147;    -   calendar module 148;    -   widget modules 149, which optionally include one or more of:        weather widget 149-1, stocks widget 149-2, calculator widget        149-3, alarm clock widget 149-4, dictionary widget 149-5, and        other widgets obtained by the user, as well as user-created        widgets 149-6;    -   widget creator module 150 for making user-created widgets 149-6;    -   search module 151;    -   video and music player module 152, which is, optionally, made up        of a video player module and a music player module;    -   notes module 153;    -   map module 154; and/or    -   online video module 155.

Examples of other applications 136 that are, optionally, stored inmemory 102 include other word processing applications, other imageediting applications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, contacts module 137 includes executable instructions tomanage an address book or contact list (e.g., stored in applicationinternal state 192 of contacts module 137 in memory 102 or memory 370),including: adding name(s) to the address book; deleting name(s) from theaddress book; associating telephone number(s), e-mail address(es),physical address(es) or other information with a name; associating animage with a name; categorizing and sorting names; providing telephonenumbers and/or e-mail addresses to initiate and/or facilitatecommunications by telephone 138, video conference 139, e-mail 140, or IM141; and so forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch-sensitive display system 112, display controller156, contact module 130, graphics module 132, and text input module 134,telephone module 138 includes executable instructions to enter asequence of characters corresponding to a telephone number, access oneor more telephone numbers in address book 137, modify a telephone numberthat has been entered, dial a respective telephone number, conduct aconversation and disconnect or hang up when the conversation iscompleted. As noted above, the wireless communication optionally usesany of a plurality of communications standards, protocols andtechnologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch-sensitive display system 112, display controller156, optical sensor(s) 164, optical sensor controller 158, contactmodule 130, graphics module 132, text input module 134, contact list137, and telephone module 138, videoconferencing module 139 includesexecutable instructions to initiate, conduct, and terminate a videoconference between a user and one or more other participants inaccordance with user instructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,and text input module 134, e-mail client module 140 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 144,e-mail client module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,and text input module 134, the instant messaging module 141 includesexecutable instructions to enter a sequence of characters correspondingto an instant message, to modify previously entered characters, totransmit a respective instant message (for example, using a ShortMessage Service (SMS) or Multimedia Message Service (MMS) protocol fortelephony-based instant messages or using XMPP, SIMPLE, Apple PushNotification Service (APNs) or IMPS for Internet-based instantmessages), to receive instant messages and to view received instantmessages. In some embodiments, transmitted and/or received instantmessages optionally include graphics, photos, audio files, video filesand/or other attachments as are supported in a MMS and/or an EnhancedMessaging Service (EMS). As used herein, “instant messaging” refers toboth telephony-based messages (e.g., messages sent using SMS or MMS) andInternet-based messages (e.g., messages sent using XMPP, SIMPLE, APNs,or IMPS).

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,text input module 134, GPS module 135, map module 154, and music playermodule 146, workout support module 142 includes executable instructionsto create workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (in sports devices and smartwatches); receive workout sensor data; calibrate sensors used to monitora workout; select and play music for a workout; and display, store andtransmit workout data.

In conjunction with touch-sensitive display system 112, displaycontroller 156, optical sensor(s) 164, optical sensor controller 158,contact module 130, graphics module 132, and image management module144, camera module 143 includes executable instructions to capture stillimages or video (including a video stream) and store them into memory102, modify characteristics of a still image or video, and/or delete astill image or video from memory 102.

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, text inputmodule 134, and camera module 143, image management module 144 includesexecutable instructions to arrange, modify (e.g., edit), or otherwisemanipulate, label, delete, present (e.g., in a digital slide show oralbum), and store still and/or video images.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, and text input module 134, browser module 147 includes executableinstructions to browse the Internet in accordance with userinstructions, including searching, linking to, receiving, and displayingweb pages or portions thereof, as well as attachments and other fileslinked to web pages.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, e-mail client module 140, and browser module147, calendar module 148 includes executable instructions to create,display, modify, and store calendars and data associated with calendars(e.g., calendar entries, to do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, and browser module 147, widget modules 149are mini-applications that are, optionally, downloaded and used by auser (e.g., weather widget 149-1, stocks widget 149-2, calculator widget149-3, alarm clock widget 149-4, and dictionary widget 149-5) or createdby the user (e.g., user-created widget 149-6). In some embodiments, awidget includes an HTML (Hypertext Markup Language) file, a CSS(Cascading Style Sheets) file, and a JavaScript file. In someembodiments, a widget includes an XML (Extensible Markup Language) fileand a JavaScript file (e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, and browser module 147, the widget creatormodule 150 includes executable instructions to create widgets (e.g.,turning a user-specified portion of a web page into a widget).

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, and text inputmodule 134, search module 151 includes executable instructions to searchfor text, music, sound, image, video, and/or other files in memory 102that match one or more search criteria (e.g., one or more user-specifiedsearch terms) in accordance with user instructions.

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, audio circuitry110, speaker 111, RF circuitry 108, and browser module 147, video andmusic player module 152 includes executable instructions that allow theuser to download and play back recorded music and other sound filesstored in one or more file formats, such as MP3 or AAC files, andexecutable instructions to display, present or otherwise play backvideos (e.g., on touch-sensitive display system 112, or on an externaldisplay connected wirelessly or via external port 124). In someembodiments, device 100 optionally includes the functionality of an MP3player, such as an iPod (trademark of Apple Inc.).

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, notes module 153 includes executable instructions to createand manage notes, to do lists, and the like in accordance with userinstructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, GPS module 135, and browser module 147, mapmodule 154 includes executable instructions to receive, display, modify,and store maps and data associated with maps (e.g., driving directions;data on stores and other points of interest at or near a particularlocation; and other location-based data) in accordance with userinstructions.

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, audio circuitry110, speaker 111, RF circuitry 108, text input module 134, e-mail clientmodule 140, and browser module 147, online video module 155 includesexecutable instructions that allow the user to access, browse, receive(e.g., by streaming and/or download), play back (e.g., on the touchscreen 112, or on an external display connected wirelessly or viaexternal port 124), send an e-mail with a link to a particular onlinevideo, and otherwise manage online videos in one or more file formats,such as H.264. In some embodiments, instant messaging module 141, ratherthan e-mail client module 140, is used to send a link to a particularonline video.

Each of the above identified modules and applications correspond to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules are, optionally, combined orotherwise re-arranged in various embodiments. In some embodiments,memory 102 optionally stores a subset of the modules and data structuresidentified above. Furthermore, memory 102 optionally stores additionalmodules and data structures not described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 is, optionally, reduced.

The predefined set of functions that are performed exclusively through atouch screen and/or a touchpad optionally include navigation betweenuser interfaces. In some embodiments, the touchpad, when touched by theuser, navigates device 100 to a main, home, or root menu from any userinterface that is displayed on device 100. In such embodiments, a “menubutton” is implemented using a touchpad. In some other embodiments, themenu button is a physical push button or other physical input controldevice instead of a touchpad.

FIG. 1B is a block diagram illustrating example components for eventhandling in accordance with some embodiments. In some embodiments,memory 102 (in FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g.,in operating system 126) and a respective application 136-1 (e.g., anyof the aforementioned applications 136, 137-155, 380-390).

Event sorter 170 receives event information and determines theapplication 136-1 and application view 191 of application 136-1 to whichto deliver the event information. Event sorter 170 includes eventmonitor 171 and event dispatcher module 174. In some embodiments,application 136-1 includes application internal state 192, whichindicates the current application view(s) displayed on touch-sensitivedisplay system 112 when the application is active or executing. In someembodiments, device/global internal state 157 is used by event sorter170 to determine which application(s) is (are) currently active, andapplication internal state 192 is used by event sorter 170 to determineapplication views 191 to which to deliver event information.

In some embodiments, application internal state 192 includes additionalinformation, such as one or more of: resume information to be used whenapplication 136-1 resumes execution, user interface state informationthat indicates information being displayed or that is ready for displayby application 136-1, a state queue for enabling the user to go back toa prior state or view of application 136-1, and a redo/undo queue ofprevious actions taken by the user.

Event monitor 171 receives event information from peripherals interface118. Event information includes information about a sub-event (e.g., auser touch on touch-sensitive display system 112, as part of amulti-touch gesture). Peripherals interface 118 transmits information itreceives from I/O subsystem 106 or a sensor, such as proximity sensor166, accelerometer(s) 167, gyroscope(s) 168, magnetometer(s) 169, and/ormicrophone 113 (through audio circuitry 110). Information thatperipherals interface 118 receives from I/O subsystem 106 includesinformation from touch-sensitive display system 112 or a touch-sensitivesurface.

In some embodiments, event monitor 171 sends requests to the peripheralsinterface 118 at predetermined intervals. In response, peripheralsinterface 118 transmits event information. In other embodiments,peripheral interface 118 transmits event information only when there isa significant event (e.g., receiving an input above a predeterminednoise threshold and/or for more than a predetermined duration).

In some embodiments, event sorter 170 also includes a hit viewdetermination module 172 and/or an active event recognizer determinationmodule 173.

Hit view determination module 172 provides software procedures fordetermining where a sub-event has taken place within one or more views,when touch-sensitive display system 112 displays more than one view.Views are made up of controls and other elements that a user can see onthe display.

Another aspect of the user interface associated with an application is aset of views, sometimes herein called application views or userinterface windows, in which information is displayed and touch-basedgestures occur. The application views (of a respective application) inwhich a touch is detected optionally correspond to programmatic levelswithin a programmatic or view hierarchy of the application. For example,the lowest level view in which a touch is detected is, optionally,called the hit view, and the set of events that are recognized as properinputs are, optionally, determined based, at least in part, on the hitview of the initial touch that begins a touch-based gesture.

Hit view determination module 172 receives information related tosub-events of a touch-based gesture. When an application has multipleviews organized in a hierarchy, hit view determination module 172identifies a hit view as the lowest view in the hierarchy which shouldhandle the sub-event. In most circumstances, the hit view is the lowestlevel view in which an initiating sub-event occurs (i.e., the firstsub-event in the sequence of sub-events that form an event or potentialevent). Once the hit view is identified by the hit view determinationmodule, the hit view typically receives all sub-events related to thesame touch or input source for which it was identified as the hit view.

Active event recognizer determination module 173 determines which viewor views within a view hierarchy should receive a particular sequence ofsub-events. In some embodiments, active event recognizer determinationmodule 173 determines that only the hit view should receive a particularsequence of sub-events. In other embodiments, active event recognizerdetermination module 173 determines that all views that include thephysical location of a sub-event are actively involved views, andtherefore determines that all actively involved views should receive aparticular sequence of sub-events. In other embodiments, even if touchsub-events were entirely confined to the area associated with oneparticular view, views higher in the hierarchy would still remain asactively involved views.

Event dispatcher module 174 dispatches the event information to an eventrecognizer (e.g., event recognizer 180). In embodiments including activeevent recognizer determination module 173, event dispatcher module 174delivers the event information to an event recognizer determined byactive event recognizer determination module 173. In some embodiments,event dispatcher module 174 stores in an event queue the eventinformation, which is retrieved by a respective event receiver module182.

In some embodiments, operating system 126 includes event sorter 170.Alternatively, application 136-1 includes event sorter 170. In yet otherembodiments, event sorter 170 is a stand-alone module, or a part ofanother module stored in memory 102, such as contact/motion module 130.

In some embodiments, application 136-1 includes a plurality of eventhandlers 190 and one or more application views 191, each of whichincludes instructions for handling touch events that occur within arespective view of the application's user interface. Each applicationview 191 of the application 136-1 includes one or more event recognizers180. Typically, a respective application view 191 includes a pluralityof event recognizers 180. In other embodiments, one or more of eventrecognizers 180 are part of a separate module, such as a user interfacekit (not shown) or a higher level object from which application 136-1inherits methods and other properties. In some embodiments, a respectiveevent handler 190 includes one or more of: data updater 176, objectupdater 177, GUI updater 178, and/or event data 179 received from eventsorter 170. Event handler 190 optionally utilizes or calls data updater176, object updater 177 or GUI updater 178 to update the applicationinternal state 192. Alternatively, one or more of the application views191 includes one or more respective event handlers 190. Also, in someembodiments, one or more of data updater 176, object updater 177, andGUI updater 178 are included in a respective application view 191.

A respective event recognizer 180 receives event information (e.g.,event data 179) from event sorter 170, and identifies an event from theevent information. Event recognizer 180 includes event receiver 182 andevent comparator 184. In some embodiments, event recognizer 180 alsoincludes at least a subset of: metadata 183, and event deliveryinstructions 188 (which optionally include sub-event deliveryinstructions).

Event receiver 182 receives event information from event sorter 170. Theevent information includes information about a sub-event, for example, atouch or a touch movement. Depending on the sub-event, the eventinformation also includes additional information, such as location ofthe sub-event. When the sub-event concerns motion of a touch, the eventinformation optionally also includes speed and direction of thesub-event. In some embodiments, events include rotation of the devicefrom one orientation to another (e.g., from a portrait orientation to alandscape orientation, or vice versa), and the event informationincludes corresponding information about the current orientation (alsocalled device attitude) of the device.

Event comparator 184 compares the event information to predefined eventor sub-event definitions and, based on the comparison, determines anevent or sub-event, or determines or updates the state of an event orsub-event. In some embodiments, event comparator 184 includes eventdefinitions 186. Event definitions 186 contain definitions of events(e.g., predefined sequences of sub-events), for example, event 1(187-1), event 2 (187-2), and others. In some embodiments, sub-events inan event 187 include, for example, touch begin, touch end, touchmovement, touch cancellation, and multiple touching. In one example, thedefinition for event 1 (187-1) is a double tap on a displayed object.The double tap, for example, comprises a first touch (touch begin) onthe displayed object for a predetermined phase, a first lift-off (touchend) for a predetermined phase, a second touch (touch begin) on thedisplayed object for a predetermined phase, and a second lift-off (touchend) for a predetermined phase. In another example, the definition forevent 2 (187-2) is a dragging on a displayed object. The dragging, forexample, comprises a touch (or contact) on the displayed object for apredetermined phase, a movement of the touch across touch-sensitivedisplay system 112, and lift-off of the touch (touch end). In someembodiments, the event also includes information for one or moreassociated event handlers 190.

In some embodiments, event definition 187 includes a definition of anevent for a respective user-interface object. In some embodiments, eventcomparator 184 performs a hit test to determine which user-interfaceobject is associated with a sub-event. For example, in an applicationview in which three user-interface objects are displayed ontouch-sensitive display system 112, when a touch is detected ontouch-sensitive display system 112, event comparator 184 performs a hittest to determine which of the three user-interface objects isassociated with the touch (sub-event). If each displayed object isassociated with a respective event handler 190, the event comparatoruses the result of the hit test to determine which event handler 190should be activated. For example, event comparator 184 selects an eventhandler associated with the sub-event and the object triggering the hittest.

In some embodiments, the definition for a respective event 187 alsoincludes delayed actions that delay delivery of the event informationuntil after it has been determined whether the sequence of sub-eventsdoes or does not correspond to the event recognizer's event type.

When a respective event recognizer 180 determines that the series ofsub-events do not match any of the events in event definitions 186, therespective event recognizer 180 enters an event impossible, eventfailed, or event ended state, after which it disregards subsequentsub-events of the touch-based gesture. In this situation, other eventrecognizers, if any, that remain active for the hit view continue totrack and process sub-events of an ongoing touch-based gesture.

In some embodiments, a respective event recognizer 180 includes metadata183 with configurable properties, flags, and/or lists that indicate howthe event delivery system should perform sub-event delivery to activelyinvolved event recognizers. In some embodiments, metadata 183 includesconfigurable properties, flags, and/or lists that indicate how eventrecognizers interact, or are enabled to interact, with one another. Insome embodiments, metadata 183 includes configurable properties, flags,and/or lists that indicate whether sub-events are delivered to varyinglevels in the view or programmatic hierarchy.

In some embodiments, a respective event recognizer 180 activates eventhandler 190 associated with an event when one or more particularsub-events of an event are recognized. In some embodiments, a respectiveevent recognizer 180 delivers event information associated with theevent to event handler 190. Activating an event handler 190 is distinctfrom sending (and deferred sending) sub-events to a respective hit view.In some embodiments, event recognizer 180 throws a flag associated withthe recognized event, and event handler 190 associated with the flagcatches the flag and performs a predefined process.

In some embodiments, event delivery instructions 188 include sub-eventdelivery instructions that deliver event information about a sub-eventwithout activating an event handler. Instead, the sub-event deliveryinstructions deliver event information to event handlers associated withthe series of sub-events or to actively involved views. Event handlersassociated with the series of sub-events or with actively involved viewsreceive the event information and perform a predetermined process.

In some embodiments, data updater 176 creates and updates data used inapplication 136-1. For example, data updater 176 updates the telephonenumber used in contacts module 137, or stores a video file used in videoplayer module 145. In some embodiments, object updater 177 creates andupdates objects used in application 136-1. For example, object updater176 creates a new user-interface object or updates the position of auser-interface object. GUI updater 178 updates the GUI. For example, GUIupdater 178 prepares display information and sends it to graphics module132 for display on a touch-sensitive display.

In some embodiments, event handler(s) 190 includes or has access to dataupdater 176, object updater 177, and GUI updater 178. In someembodiments, data updater 176, object updater 177, and GUI updater 178are included in a single module of a respective application 136-1 orapplication view 191. In other embodiments, they are included in two ormore software modules.

It shall be understood that the foregoing discussion regarding eventhandling of user touches on touch-sensitive displays also applies toother forms of user inputs to operate multifunction devices 100 withinput-devices, not all of which are initiated on touch screens. Forexample, mouse movement and mouse button presses, optionally coordinatedwith single or multiple keyboard presses or holds; contact movementssuch as taps, drags, scrolls, etc., on touch-pads; pen stylus inputs;movement of the device; oral instructions; detected eye movements;biometric inputs; and/or any combination thereof are optionally utilizedas inputs corresponding to sub-events which define an event to berecognized.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen (e.g., touch-sensitive display system 112, FIG. 1A) in accordancewith some embodiments. The touch screen optionally displays one or moregraphics within user interface (UI) 200. In this embodiment, as well asothers described below, a user is enabled to select one or more of thegraphics by making a gesture on the graphics, for example, with one ormore fingers 202 (not drawn to scale in the figure) or one or morestyluses 203 (not drawn to scale in the figure). In some embodiments,selection of one or more graphics occurs when the user breaks contactwith the one or more graphics. In some embodiments, the gestureoptionally includes one or more taps, one or more swipes (from left toright, right to left, upward and/or downward) and/or a rolling of afinger (from right to left, left to right, upward and/or downward) thathas made contact with device 100. In some implementations orcircumstances, inadvertent contact with a graphic does not select thegraphic. For example, a swipe gesture that sweeps over an applicationicon optionally does not select the corresponding application when thegesture corresponding to selection is a tap.

Device 100 optionally also includes one or more physical buttons, suchas “home” or menu button 204. As described previously, menu button 204is, optionally, used to navigate to any application 136 in a set ofapplications that are, optionally executed on device 100. Alternatively,in some embodiments, the menu button is implemented as a soft key in aGUI displayed on the touch-screen display.

In some embodiments, device 100 includes the touch-screen display, menubutton 204, push button 206 for powering the device on/off and lockingthe device, volume adjustment button(s) 208, Subscriber Identity Module(SIM) card slot 210, head set jack 212, and docking/charging externalport 124. Push button 206 is, optionally, used to turn the power on/offon the device by depressing the button and holding the button in thedepressed state for a predefined time interval; to lock the device bydepressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In some embodiments, device 100 also accepts verbalinput for activation or deactivation of some functions throughmicrophone 113. Device 100 also, optionally, includes one or morecontact intensity sensors 165 for detecting intensity of contacts ontouch-sensitive display system 112 and/or one or more tactile outputgenerators 163 for generating tactile outputs for a user of device 100.

FIG. 3 is a block diagram of an example multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments. Device 300 need not be portable. In some embodiments,device 300 is a laptop computer, a desktop computer, a tablet computer,a multimedia player device, a navigation device, an educational device(such as a child's learning toy), a gaming system, or a control device(e.g., a home or industrial controller). Device 300 typically includesone or more processing units (CPU's) 310, one or more network or othercommunications interfaces 360, memory 370, and one or more communicationbuses 320 for interconnecting these components. Communication buses 320optionally include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Device 300 includes input/output (I/O) interface 330 comprising display340, which is typically a touch-screen display. I/O interface 330 alsooptionally includes a keyboard and/or mouse (or other pointing device)350 and touchpad 355, tactile output generator 357 for generatingtactile outputs on device 300 (e.g., similar to tactile outputgenerator(s) 163 described above with reference to FIG. 1A), sensors 359(e.g., touch-sensitive, optical, contact intensity, proximity,acceleration, attitude, and/or magnetic sensors similar to sensors 112,164, 165, 166, 167, 168, and 169 described above with reference to FIG.1A). Memory 370 includes high-speed random access memory, such as DRAM,SRAM, DDR RAM or other random access solid state memory devices; andoptionally includes non-volatile memory, such as one or more magneticdisk storage devices, optical disk storage devices, flash memorydevices, or other non-volatile solid state storage devices. Memory 370optionally includes one or more storage devices remotely located fromCPU(s) 310. In some embodiments, memory 370 stores programs, modules,and data structures analogous to the programs, modules, and datastructures stored in memory 102 of portable multifunction device 100(FIG. 1A), or a subset thereof. Furthermore, memory 370 optionallystores additional programs, modules, and data structures not present inmemory 102 of portable multifunction device 100. For example, memory 370of device 300 optionally stores drawing module 380, presentation module382, word processing module 384, website creation module 386, diskauthoring module 388, and/or spreadsheet module 390, while memory 102 ofportable multifunction device 100 (FIG. 1A) optionally does not storethese modules.

Each of the above identified elements in FIG. 3 are, optionally, storedin one or more of the previously mentioned memory devices. Each of theabove identified modules corresponds to a set of instructions forperforming a function described above. The above identified modules orprograms (i.e., sets of instructions) need not be implemented asseparate software programs, procedures or modules, and thus varioussubsets of these modules are, optionally, combined or otherwisere-arranged in various embodiments. In some embodiments, memory 370optionally stores a subset of the modules and data structures identifiedabove. Furthermore, memory 370 optionally stores additional modules anddata structures not described above.

Attention is now directed towards embodiments of user interfaces (“UI”)that are, optionally, implemented on portable multifunction device 100.

FIG. 4A illustrates an example user interface for a menu of applicationson portable multifunction device 100 in accordance with someembodiments. Similar user interfaces are, optionally, implemented ondevice 300. In some embodiments, user interface 400 includes thefollowing elements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 402 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 404;    -   Bluetooth indicator 405;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:        -   Icon 416 for telephone module 138, labeled “Phone,” which            optionally includes an indicator 414 of the number of missed            calls or voicemail messages;        -   Icon 418 for e-mail client module 140, labeled “Mail,” which            optionally includes an indicator 410 of the number of unread            e-mails;        -   Icon 420 for browser module 147, labeled “Browser”; and        -   Icon 422 for video and music player module 152, also            referred to as iPod (trademark of Apple Inc.) module 152,            labeled “iPod”; and    -   Icons for other applications, such as:        -   Icon 424 for IM module 141, labeled “Text”;        -   Icon 426 for calendar module 148, labeled “Calendar”;        -   Icon 428 for image management module 144, labeled “Photos”;        -   Icon 430 for camera module 143, labeled “Camera”;        -   Icon 432 for online video module 155, labeled “Online            Video”;        -   Icon 434 for stocks widget 149-2, labeled “Stocks”;        -   Icon 436 for map module 154, labeled “Map”;        -   Icon 438 for weather widget 149-1, labeled “Weather”;        -   Icon 440 for alarm clock widget 169-6, labeled “Clock”;        -   Icon 442 for workout support module 142, labeled “Workout            Support”;        -   Icon 444 for notes module 153, labeled “Notes”; and        -   Icon 446 for a settings application or module, which            provides access to settings for device 100 and its various            applications 136.

It should be noted that the icon labels illustrated in FIG. 4A aremerely examples. For example, in some embodiments, icon 422 for videoand music player module 152 is labeled “Music” or “Music Player.” Otherlabels are, optionally, used for various application icons. In someembodiments, a label for a respective application icon includes a nameof an application corresponding to the respective application icon. Insome embodiments, a label for a particular application icon is distinctfrom a name of an application corresponding to the particularapplication icon.

FIG. 4B illustrates an example user interface on a device (e.g., device300, FIG. 3) with a touch-sensitive surface 451 (e.g., a tablet ortouchpad 355, FIG. 3) that is separate from the display 450. Device 300also, optionally, includes one or more contact intensity sensors (e.g.,one or more of sensors 359) for detecting intensity of contacts ontouch-sensitive surface 451 and/or one or more tactile output generators359 for generating tactile outputs for a user of device 300.

FIG. 4B illustrates an example user interface on a device (e.g., device300, FIG. 3) with a touch-sensitive surface 451 (e.g., a tablet ortouchpad 355, FIG. 3) that is separate from the display 450. Althoughmany of the examples that follow will be given with reference to inputson touch screen display 112 (where the touch sensitive surface and thedisplay are combined), in some embodiments, the device detects inputs ona touch-sensitive surface that is separate from the display, as shown inFIG. 4B. In some embodiments, the touch-sensitive surface (e.g., 451 inFIG. 4B) has a primary axis (e.g., 452 in FIG. 4B) that corresponds to aprimary axis (e.g., 453 in FIG. 4B) on the display (e.g., 450). Inaccordance with these embodiments, the device detects contacts (e.g.,460 and 462 in FIG. 4B) with the touch-sensitive surface 451 atlocations that correspond to respective locations on the display (e.g.,in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470). In thisway, user inputs (e.g., contacts 460 and 462, and movements thereof)detected by the device on the touch-sensitive surface (e.g., 451 in FIG.4B) are used by the device to manipulate the user interface on thedisplay (e.g., 450 in FIG. 4B) of the multifunction device when thetouch-sensitive surface is separate from the display. It should beunderstood that similar methods are, optionally, used for other userinterfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures, etc.), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse based input or a stylus input).For example, a swipe gesture is, optionally, replaced with a mouse click(e.g., instead of a contact) followed by movement of the cursor alongthe path of the swipe (e.g., instead of movement of the contact). Asanother example, a tap gesture is, optionally, replaced with a mouseclick while the cursor is located over the location of the tap gesture(e.g., instead of detection of the contact followed by ceasing to detectthe contact). Similarly, when multiple user inputs are simultaneouslydetected, it should be understood that multiple computer mice are,optionally, used simultaneously, or a mouse and finger contacts are,optionally, used simultaneously.

User Interfaces and Associated Processes

Attention is now directed towards embodiments of user interfaces (“UI”)and associated processes that may be implemented on an electronicdevice, such as portable multifunction device (PMD) 100 or device 300,with a display, a touch-sensitive surface, and one or more sensors todetect intensity of contacts with the touch-sensitive surface.

FIGS. 5A-5CT illustrate example user interfaces for playing back mediaitems in accordance with some embodiments. The user interfaces in thesefigures are used to illustrate the processes described below, includingthe processes in FIGS. 6A-6E, 7A-7B, 8A-8D, and 9A-9E. Although some ofthe examples which follow will be given with reference to inputs on atouch-screen display (where the touch-sensitive surface and the displayare combined), in some embodiments, the device detects inputs on atouch-sensitive surface 451 that is separate from the display 450, asshown in FIG. 4B.

FIG. 5A illustrates a user interface 501 for playing back media itemsusing a portable multifunctional device 100. The user interface 501includes identifying text 511 indicating the media item being playedback. For example, when the media item is a song, the identifying text511 can include, for example and as shown in FIG. 5A, a song title, anartist, and an album title. When the media item is a podcast, theidentifying text can, for example, include a podcast title, an episodenumber, an artist, or a date. When the media item is an audiobook, theidentifying text can include, for example, a book title, an author, or achapter number. When the media item is a movie, the identifying text caninclude, for example, a title, a release date, or a production studio.The media item can be other types of content besides a song, podcast,audiobook, or movie and the identifying text can include other types ofinformation.

The user interface 501 includes a number of playback affordances,described in detail below, for manipulating playback of the media itemand/or other media items. The playback affordances can include aplay-pause affordance 521 for pausing and resuming playback of the mediaitem being played back, a reverse affordance 522 for starting playbackof a prior media item, a forward affordance 523 for starting playback ofa next media item, a volume affordance 524 for changing the volume ofsound associated with the media item, and a scrubbing affordance 525 forchanging a playback time of playback of the media item.

The user interface 501 includes an image 531 associated with the mediaitem. The image 531 can be stored in association with the content of themedia item. When the media item is a song, the image 531 can, forexample, be album cover art associated with an album upon which the songappears. In some implementations, the image 531 can be a photograph ofthe artist that performs the song. When the media item is a podcast, theimage 531 can be a logo associated with the podcast and/or theperformers. When the media item is an audiobook, the image 531 can bebook cover art. In some implementations, when an image is not stored inassociation with the content of the media item, a placeholder image canbe used. The placeholder image can be, for example, a default image or agenerated image (e.g., a monogram).

The image 531 is displayed within a display region of the display of theportable multifunctional device 100. Thus, the image 531 occupies orspans the display region of the display. As described further below, thedisplay region occupied by the image 531 can change as the image 531changes size, location, and/or shape.

The identifying text 511 and the pause-play affordance 521 form aplayback status indicator regarding playback of the media item. When thepause-play affordance 521 is in a press-to-pause state, or simply, apause state (as shown in FIG. 5A), the playback status indicatorindicates that the media item indicated by the identifying text 511 isbeing played. When the pause-play affordance 521 is in a press-to-playstate, or simply, a play state (as shown in FIG. 5C), the playbackstatus indicator indicates that the media item identified by theidentifying text 511 is paused. It is to be appreciated that playingback a media item includes either or both of playing or pausing themedia item. Thus, even when playback of the media item is paused, theportable multifunctional device 100 is playing back the media item.

When the media item is being played, the image 531 is surrounded by aborder 531A (or a shadow or other visual effect that causes the image toappear to be lifted off from a background of the user interface in avirtual z direction) which also serves (in part) as a playback statusindicator. As described below (and shown in FIG. 5C), when the mediaitem is paused, the image 531 is not surround by the border 531A. Invarious implementations, the border 531A can be replaced with otherplayback status indicators associated with the image. For example, insome implementations, a brightness, contrast, or color of the image 531is changed based on the playback status of the media item. In FIG. 5A,the border 531A surrounds the image 531. In some implementations, theborder 531A or another playback status indicator associated with theimage 531 is present only of two sides of the image or on one side ofthe image.

FIG. 5B illustrates the user interface 501 of FIG. 5A with a touch 581Adetected at a location of the image 531 (e.g., within the displayregion). The touch 581A is an input interacting with the image. Thetouch 581A includes a first portion (touchdown of a contact on the image531 on the touch-sensitive display of the portable multifunctionaldevice 100) and a second portion (liftoff of the contact from thetouch-sensitive display of the portable multifunctional device 100).

FIG. 5C illustrates the user interface 501 in response to detecting thetouch 581A at the location of the image 531 in FIG. 5B. In response todetecting the touch 581A at the location of the image 531, thepause-play affordance 521 is changed to a play state and the size of theimage 531 is reduced (e.g., the size of the display region is reduced).As shown in FIG. 5C, the location of the image 531 (e.g., the center ofthe image 531) is unchanged. Also in response to detecting the touch581A at the location of the image 531, the border 531A ceases to bedisplayed. The pause-play affordance 521 changing to the play state (andceasing display of the border 531A) indicates that playback of the mediaitem is paused.

In some implementations, the appearance of the image 531 on the displayis adjusted (e.g., the size is reduced) in response to and in accordancewith a first portion of the touch 581A (e.g., touchdown of the contact)and playback of content on the device is changed (e.g., playback of themedia item is paused) in response to and in accordance with a secondportion of the touch 581A (e.g., liftoff of the contact).

FIG. 5D illustrates the user interface 501 of FIG. 5C with a touch 581Bdetected at a location of the image 531 (e.g., within the displayregion). The touch 581B is an input interacting with the image 531. Thetouch 581B includes a first portion (touchdown of a contact on the image531 on the touch-sensitive display of the portable multifunctionaldevice 100) and a second portion (liftoff of the contact from thetouch-sensitive display of the portable multifunctional device 100).

FIG. 5E illustrates the user interface 501 in response to detecting thetouch 581B at the location of the image 531 in FIG. 5D. In response todetecting the touch 581B at the location of the image 531, thepause-play affordance 521 is changed back to a pause state and the sizeof the image 531 is increased (e.g., the size of the display region isincreased) back to the size of the image 531 in FIG. 5A. As shown inFIG. 5E, the location of the image 531 (e.g., the center of the image531) is unchanged. Also in response to detecting the touch 581B at thelocation of the image 531, the border 531A is, once again, displayed.The pause-play affordance 521 changing to the pause state (and resumingdisplay of the border 531A) indicates that playback of the media item isresumed.

In some implementations, the appearance of the image 531 on the displayis adjusted (e.g., the size is increased) in response to and inaccordance with a first portion of the touch 581B (e.g., touchdown ofthe contact) and playback of content on the device is changed (e.g.,playback of the media item is resumed) in response to and in accordancewith a second portion of the touch 581B (e.g., liftoff of the contact).

FIG. 5F illustrates the user interface 501 of FIG. 5E with a touch 581Cdetected at a location of the pause-play affordance 521. The touch 581Cis a pause-play user input interacting with the pause-play affordance521. The touch 581C includes a first portion (touchdown of a contact onthe pause-play affordance 521 on the touch-sensitive display of theportable multifunctional device 100) and a second portion (liftoff ofthe contact from the touch-sensitive display of the portablemultifunctional device 100).

FIG. 5G illustrates the user interface 501 in response to detecting thetouch 581C at the location of the pause-play affordance 521 in FIG. 5F.In response to detecting the touch 581C at the location of thepause-play affordance 521, the pause-play affordance 521 is changed to aplay state and the size of the image 531 is reduced (e.g., the size ofthe display region is reduced). As shown in FIG. 5G, the location of theimage 531 (e.g., the center of the image 531) is unchanged. Also inresponse to detecting the touch 581C at the location of the pause-playaffordance 521, the border 531A ceases to be displayed. The pause-playaffordance 521 changing to the pause state (and ceasing display of theborder 531A) indicates that playback of the media item is paused.

In some implementations, the appearance of the image 531 on the displayis adjusted (e.g., the size is decreased) in response to and inaccordance with a first portion of the touch 581C (e.g., touchdown ofthe contact) and playback of content on the device is changed (e.g.,playback of the media item is paused) in response to and in accordancewith a second portion of the touch 581C (e.g., liftoff of the contact).

FIG. 5H illustrates the user interface 501 of FIG. 5G with a touch 581Ddetected at a location of the pause-play affordance 521. The touch 581Dis a pause-play user input interacting with the pause-play affordance521. The touch 581D includes a first portion (touchdown of a contact onthe pause-play affordance 521 on the touch-sensitive display of theportable multifunctional device 100) and a second portion (liftoff ofthe contact from the touch-sensitive display of the portablemultifunctional device 100).

FIG. 5I illustrates the user interface 501 in response to detecting thetouch 581D at the location of the pause-play affordance 521 in FIG. 5H.In response to detecting the touch 581D at the location of thepause-play affordance 521, the pause-play affordance 521 is changed backto a pause state and the size of the image 531 is increased (e.g., thesize of the display region is increased) back to the size of the image531 in FIG. 5A. As shown in FIG. 5I, the location of the image 531(e.g., the center of the image 531) is unchanged. Also in response todetecting the touch 581D at the location of the pause-play affordance521, the border 531A is, once again, displayed. The pause-playaffordance 521 changing to the pause state (and resuming display of theborder 531A) indicates that playback of the media item is resumed.

In some implementations, the appearance of the image 531 on the displayis adjusted (e.g., the size is increased) in response to and inaccordance with a first portion of the touch 581D (e.g., touchdown ofthe contact) and playback of content on the device is changed (e.g.,playback of the media item is resumed) in response to and in accordancewith a second portion of the touch 581D (e.g., liftoff of the contact).

Thus, touching the image 531 and touching the pause-play affordance 521have the same (or a substantially similar) effect. In particular,touching either the image 531 or the pause-play affordance 521 resultsin switching between pausing and playback of the media item. Further,touching either the image 531 or the pause-play affordance 521 resultsin a resizing of the image 531 and toggling of display of the border531A.

Because touching the image 531 and touching the pause-play affordance521 can have a substantially similar effect, in some implementations,the user interface 501 does not include a pause-play affordance, or atleast, does not include a pause-play affordance when the image 531 isdisplayed. Such a user interface 501 excluding a pause-play affordancemay be particularly beneficial in portable multifunctional devices withsmall touch-sensitive displays (e.g., less than 5 square inches, lessthan 3 square inches, or less than 2 square inches) as may be found inportable music players or smartwatches.

FIG. 5J illustrates the user interface 501 of FIG. 5I with a swipe 581Edetected moving over the image 531. The swipe 581E is a user inputinteracting with the image 531. The swipe 581E includes a first portion(movement of a contact on the touch-sensitive display of the portablemultifunctional device 100 a first distance) and a second portion(movement of the contact on the touch-sensitive display of the portablemultifunctional device 100 a second distance). The swipe 581E caninclude additional portions, such as contact on the touch-sensitivedisplay or liftoff of the contact from the touch-sensitive display.

FIG. 5K illustrates the user interface 501 in response to detecting afirst portion of the swipe 581E over the image 531. In response todetecting the first portion of the swipe 581E over the image 531, theimage 531 is moved in accordance with the direction of the swipe 581E(e.g., the location of the display region is changed). In particular,when the swipe 581E moves from a first location to a second location tothe left of the first location, the image is moved to the left.Conversely, when the swipe 581E moves from a first location to a secondlocation to the right of the second location, the image is moved to theright.

In some implementations, the appearance of the image 531 on the displayis adjusted (e.g., the image 531 is moved) in response to and inaccordance with a first portion of the swipe 581E (e.g., a firstdistance) and playback of content on the device is changed (e.g.,playback of a second media item is started) in response to and inaccordance with a second portion of the swipe 581E (e.g., a seconddistance or liftoff of the contact) as described below.

FIG. 5L illustrates the user interface 501 of FIG. 5K with an additionalportion of the swipe 581E detected. In response to the additionalportion of the swipe 581E, the image 531 is moved further in accordancewith the direction of the swipe. Further, a second image 532 (with acorresponding border 532A) associated with a second media item isdisplayed as the image 531 associated with the first media item issliding off the display.

FIG. 5M illustrates the user interface 501 in response to detecting thesecond portion of the swipe 581E over the image 531. In response todetecting the second portion of the swipe 581E over the image 531, theidentifying text 511 for the first media item is replaced withidentifying text 512 for the second media item. Further, the image 531associated with the first item is completely replaced with the image 532associated with the second media item. Thus, the identifying text 512(and the pause-play affordance 521) form a playback status indicatorindicating that the portable multifunctional device 100 is playing backthe second media item. In some implementations, starting playback of thesecond media item includes crossfading between the media item and thesecond media item while sliding the image 531 associated with the firstmedia item off the display (e.g., in FIG. 5L).

FIGS. 5J-5M illustrate a swipe 581E to the left causing playback of anext media item in a queue. In some implementations, a swipe over theimage 531 to the right causes playback of a prior media item in thequeue. Thus, in some implementations, starting playback of the secondmedia item includes, in accordance with a determination that themovement of a contact is in a first direction, selecting a prior mediaitem in a queue as the second media item and, in accordance with adetermination that the movement of the contact is in a second directionthat is different from (e.g., opposite to) the first direction,selecting a next media item in the queue as the second media item.

FIG. 5N illustrates the user interface 501 of FIG. 5M with a touch 581Fdetected at a location of the forward affordance 523. The touch 581F isa skip user input interacting with the forward affordance 523. The touch581F includes a first portion (touchdown of a contact on the forwardaffordance 523 on the touch-sensitive display of the portablemultifunctional device 100) and a second portion (liftoff of the contactfrom the touch-sensitive display of the portable multifunctional device100).

FIG. 5O illustrates the user interface 501 in response to detecting thetouch 581F at the location of the forward affordance 523 in FIG. 5N. Inresponse to detecting the touch 581F at the location of the forwardaffordance 523, the image 532 is moved to left. In some implementations,the appearance of the image 532 on the display is adjusted (e.g., theimage 532 is moved) in response to and in accordance with a firstportion of the touch 581F (e.g., touchdown of the contact) and playbackof content on the device is changed (e.g., playback of a second mediaitem is started) in response to and in accordance with a second portionof the touch 581F (e.g., liftoff of the contact) as described below.

FIG. 5P illustrates the user interface 501 of FIG. 5O at a slightlylater time. In response to detecting the touch 581F at the location ofthe forward affordance in FIG. 5N, the image 532 is moved to left (asshown in FIG. 5O). In FIG. 5P, the image 532 has moved further to leftand an image 533 (with a corresponding border 533A) associated with athird media item is partially displayed on the right of the display.

FIG. 5Q illustrates the user interface of FIG. 5P at a slightly latertime. In FIG. 5Q, the identifying text 512 for the second media item isreplaced with identifying text 513 for the third media item. Further,the image 532 associated with the second media item is completelyreplaced with the image 533 associated with the third media item. Thus,the identifying text 513 (and the pause-play affordance 521) form aplayback status indicator indicating that the portable multifunctionaldevice 100 is playing back the third media item.

FIGS. 5N-5Q illustrate a touch 581F at the location of the forwardaffordance 523 causing playback of a next media item in a queue. In someimplementations, a touch at location of the reverse affordance 522 (alsoa skip user input) causes playback of a prior media item in the queue.Thus, in some implementations, a skip user input is detected interactingwith one of one or more skip affordances (e.g., the reverse affordance522 and the forward affordance 523). In response to a first portion ofthe skip user input, the image 532 is moved in accordance with the oneof the one or more skip affordances. For example, if the skip user inputis detected interacting with the forward affordance 523, the image movesto the left and if the skip user input is detected interacting with thereverse affordance 522, the image moves to the right. Further, inresponse to a second portion of the skip user input, playback of anothermedia item is started in accordance with the one of the one or more skipaffordances. For example, if the skip user input is detected interactingwith the forward affordance 523, a next media item in the queue isplayed and if the skip user input is detected interacting with thereverse affordance 522, a prior media item in the queue is played.

FIG. 5R illustrates the user interface 501 of FIG. 5Q with a verticalmulti-touch drag 581G detected over the image 533. The verticalmulti-touch drag 581G is a user input interacting with the image 533.The vertical multi-touch drag 581G includes a first portion (touchdownof the contacts on the touch-sensitive display of the portablemultifunctional device 100) and a second portion (movement of thecontacts on the touch-sensitive display of the portable multifunctionaldevice 100). The vertical multi-touch drag 581G can include additionalportions, such as liftoff of the contact from the touch-sensitivedisplay. The second portion of the vertical multi-touch drag 581G caninclude multiple sub-portions (themselves portions), such as movement afirst distance and movement a second distance.

FIG. 5S illustrates the user interface 501 in response to detecting thevertical multi-touch drag 581G over the image 533 in FIG. 5R. Inresponse to detecting the vertical multi-touch drag 581G over the image533, the shape of the image 533 is changed. As shown in FIG. 5S, avertical multi-touch drag 581G in a downward direction results in adownward tilting of the image 533. Thus, the shape of the image 533 isskewed. Also in response to detecting the vertical multi-touch drag 581Gover the image, the volume affordance 524 is moved from its originallocation 524A indicating that a volume of the playback of the thirdmedia item has been reduced.

FIG. 5T illustrates the user interface of FIG. 5Q with a horizontalmulti-touch drag 581H detected over the image 533. The horizontalmulti-touch drag 581H is a user input interacting with the image 533.The horizontal multi-touch drag 581H includes a first portion (touchdownof the contacts on the touch-sensitive display of the portablemultifunctional device 100) and a second portion (movement of thecontacts on the touch-sensitive display of the portable multifunctionaldevice 100). The horizontal multi-touch drag 581H can include additionalportions, such as liftoff of the contact from the touch-sensitivedisplay. The second portion of the horizontal multi-touch drag 581H caninclude multiple sub-portions (themselves portions), such as movement afirst distance and movement a second distance.

FIG. 5U illustrates the user interface 501 in response to detecting afirst portion of the horizontal multi-touch drag 581H over the image 533in FIG. 5T. In response to detecting the horizontal multi-touch drag581H over the image 533, the shape of the image 533 is changed. As shownin FIG. 5U, a horizontal multi-touch drag 581H in a rightward directionresults in a rightward tilting of the image 533. Thus, the shape of theimage 533 is skewed. Also in response to detecting the horizontalmulti-touch drag 581H over the image, the scrubbing affordance 525 haschanged from its original location 525A indicating that a playback timeof the third media item has been changed.

FIG. 5V illustrates the user interface 501 in response to detecting asecond portion of the horizontal multi-touch drag 581H over the image533 in FIG. 5T. In response to detecting the second portion of thehorizontal multi-touch drag 581H over the image 533, the shape of theimage 533 is further changed. In particular, the shape of the image 533is further skewed as the image is tilted in accordance with the distanceof the horizontal multi-touch drag 581H. Also in response to detectingthe second portion of the horizontal multi-touch drag 581H over theimage 533, the scrubbing affordance 525 has changed further from itsoriginal location 525A indicating that a playback time of the thirdmedia item has been further changed. Thus, a magnitude of the change inthe playback time and the magnitude of the change in the shape of theimage are both proportional to a distance of the horizontal multi-touchdrag 581H (e.g., a magnitude of the movement of the multi-touchcontact).

FIGS. 5R-5V show the effects of different multi-touch drags. In general,detecting an input interacting with the image 533 can include detectingmovement of a multi-touch contact over the image 533. In someimplementations, the appearance of the image 533 on the display isadjusted (e.g., the shape of the image 533 is changed) in response toand in accordance with a first portion of the multi-touch contact 581Gand playback of content on the device is changed (e.g., a non-binarycharacteristic is changed) in response to and in accordance with asecond portion of the multi-touch drag 581G (e.g., a second distance ofthe contact). The non-binary characteristic can include, for example,volume (as shown in FIGS. 5R-5S), playback time (as shown in FIGS.5T-5V), an equalization setting, or any other playback characteristichaving more than two values.

In some implementations, the portable multifunctional device 100 detectsa multi-touch contact and, in accordance with a determination that themovement is along a first axis (e.g., vertical), changes a firstnon-binary playback characteristic (e.g., volume) and, in accordancewith a determination that the movement is along a second axis (e.g.,horizontal), changes a second non-binary playback characteristic (e.g.,playback time).

Although FIGS. 5R-5V illustrate increasing the volume and playback timewith downward and rightward multi-touch drags, it is to be appreciatedthat the volume and playback time can be similarly decreased with upwardand leftward multi-touch drags, respectively.

FIG. 5W illustrates the user interface of FIG. 5Q with a drag 581Idetected at the location of the scrubbing affordance 525. The drag 581Iincludes a first portion (touchdown of the contact on thetouch-sensitive display of the portable multifunctional device 100) anda second portion (movement of the contact on the touch-sensitive displayof the portable multifunctional device 100). The drag 581I can includeadditional portions, such as liftoff of the contact from thetouch-sensitive display. The second portion of the drag 581I can includemultiple sub-portions (themselves portions), such as movement a firstdistance and movement a second distance.

FIG. 5X illustrates the user interface 501 in response to detecting thedrag 581I at the location of the scrubbing affordance in FIG. 5W. Theimage 533 (retaining its border 533A) is reduced in size and movedupward. In the space provided, a scrubbing waveform 525B is displayedindicative of the magnitude of the audio of the third media item atvarious playback times. Also in the space provided, scrubbing speedinformation 525C is displayed. When the portable multifunction device100 detects the drag continuing leftward or rightward, the portablemultifunctional device 100 changes the playback time of the third mediaitem.

As described above, interacting with the image 533 and touching theplayback affordances 521-525 can have the same (or a substantiallysimilar) effect. Thus, in some implementations, the user interface 501does not include one or more of the playback affordances 521-525, or atleast, does not include one or more of the playback affordances 521-525when the image 533 is displayed. In some implementations, the userinterface 501 does not include any of the playback affordances 521-525when the image 533 is displayed. Such a user interface 501 excludingplayback affordances may be particularly beneficial in portablemultifunctional devices with small touch-sensitive displays (e.g., lessthan 5 square inches, less than 3 square inches, or less than 2 squareinches) as may be found in portable music players or smartwatches.

FIG. 5Y illustrates the user interface of FIG. 5Q with a swipe 581Jdetected at the location of the image 533. The swipe 581J is a userinput interacting with the image 533. The swipe 581J includes a firstportion (movement of a contact on the touch-sensitive display of theportable multifunctional device 100 a first distance) and a secondportion (movement of the contact on the touch-sensitive display of theportable multifunctional device 100 a second distance). The swipe 581Jcan include additional portions, such as contact on the touch-sensitivedisplay or liftoff of the contact from the touch-sensitive display.

FIG. 5Z illustrates the user interface 501 in response to detecting afirst portion of the swipe 581J (e.g., movement a first distance) at thelocation of the image 533 in FIG. 5Y. The image 533 (retaining itsborder 533A), the identifying text 513, and the various playbackaffordances 521-525 are together moved upward as a single unit, referredto as a now-playing pane 541. In the space provided, a lyrics pane 542is displayed and a queue pane 543 is partially displayed. The lyricspane 542 includes a lyrics toggle affordance 542A (described furtherbelow) for toggling the display of lyrics of the media item.

FIG. 5AA illustrates the user interface 501 in response to detecting asecond portion of the swipe 581J (e.g., movement a first distance) atthe location of the image in FIG. 5Y. The now-playing pane 541, lyricspane 542, and queue pane 543 are moved upwards as compared to FIG. 5Z.FIG. 5AA illustrates that the queue pane 543 includes a queuerepresentation 543A (described further below) indicative of upcomingmedia items.

FIG. 5AB illustrates the user interface 501 in response to detecting athird portion of the swipe 581J (e.g., liftoff) at the location of theimage in FIG. 5Y. In FIG. 5AB, the now-playing pane 541 is no longerdisplayed, the lyrics pane 542 is displayed at the top of the display,the queue pane 543 is fully displayed, a suggestions pane 544 isdisplayed, and an other information pane 545 is partially displayed. Thesuggestions pane 544 includes suggestion representations 544A displayingsuggested media items selected based on the currently selected mediaitem (e.g., in FIG. 5AB, the third media item). The suggested mediaitems can also be based on other implicit and explicitly determined userpreferences, such as media items by the same artist, media items in thesame genre, or media items played by other users connected via a socialnetwork. The other information pane 545 can display other informationrelated to the media item, such as awards won by the media item or abiography of the artist of the media item. The other information pane545 can also (or alternatively) display information unrelated to themedia item.

Thus, FIGS. 5Y-5AB illustrates that, in response to detecting the swipe581J over the image 533, the image 533 is moved and related media itemsare displayed (e.g., media items related to the media item being playedback). The related media items can include media items in a queue withthe media item (as in the queue pane 543) and/or suggested media items(as in the suggestions pane 544).

FIG. 5AC illustrates the user interface 501 of FIG. 5AC with a touch581K detected at the location of the lyrics toggle affordance 542A. Thetouch 581K includes a first portion (touchdown of a contact on the imageon the touch-sensitive display of the portable multifunctional device100) and a second portion (liftoff of the contact from thetouch-sensitive display of the portable multifunctional device 100).

FIG. 5AD illustrates the user interface 501 in response to detecting thetouch 581K at the location of the lyrics toggle affordance 542A in FIG.5AC. In FIG. 5AD, the lyrics pane 542 is expanded to display lyrics 542Bof the media item. The queue pane 543 and suggestions pane 544 are moveddownward by this expansion. Further, the lyrics toggle affordance 542Ais changed from a show state (e.g., as in FIG. 5AC) to a hide state.

In some implementations, toggling between showing and hiding lyrics ofthe media item is persistent. Thus, when a next media item is beingplayed back at a later time and the user interface 501 fully displaysthe now-playing pane 541, an upward swipe will display the lyrics pane542 with the lyrics 542B of the next media item without detecting anadditional touch of the lyrics toggle affordance 542A.

FIG. 5AE illustrates the user interface 501 of FIG. 5AD with a swipe581L detected in the lyrics pane 542. Although FIG. 5AE shows the swipe581L as originating in the lyrics pane 542, a similar effect can berealized with a swipe in other panes, such as the queue pane 543 or thesuggestions pane 544. The swipe 581L includes a first portion (e.g.,movement of a contact on the touch-sensitive display of the portablemultifunctional device 100 a first distance) and a second portion (e.g.,movement of the contact on the touch-sensitive display of the portablemultifunctional device 100 a second distance). The swipe 581L caninclude additional portions, such as contact on the touch-sensitivedisplay or liftoff of the contact from the touch-sensitive display.

FIG. 5AF illustrates the user interface 501 in response to detecting afirst portion of the swipe 581L (e.g., movement of the contact a firstdistance) in the lyrics pane 542. The lyrics pane 542 and queue pane 543have moved down and the suggestions pane 544 has been removed. In thespace provided, the now-playing pane 541 is partially displayed.

FIG. 5AG illustrates the user interface 501 in response to detecting asecond portion of the swipe 581L (e.g., liftoff of the contact) in thelyrics pane 542. In FIG. 5AG, the lyrics pane 542 and queueing pane 543are no longer displayed and the now-playing pane 541 fills the display.

FIG. 5AH illustrates the user interface of FIG. 5AG with a swipe 581Mdetected over the image 533. The swipe 581M includes a first portion(e.g., movement of a contact on the touch-sensitive display of theportable multifunctional device 100 a first distance) and a secondportion (e.g., movement of the contact on the touch-sensitive display ofthe portable multifunctional device 100 a second distance). The swipe581M can include additional portions, such as contact on thetouch-sensitive display or liftoff of the contact from thetouch-sensitive display.

FIG. 5AI illustrates the user interface 501 in response to detecting afirst portion of the swipe 581M (e.g., movement of the contact a firstdistance) over the image 533. The now-playing pane 541 is moveddownward, revealing a playlist pane 546. Between the now-playing pane541 and the playlist pane 546 is a miniplayer user interface 540. Theminiplayer user interface 540 includes identifying text 513A indicativeof the currently selected media item (e.g., in FIG. 5AI, the third mediaitem). The miniplayer user interface 540 includes a pause-playaffordance 521A providing the same functionality as the pause-playaffordance 521 of the now-playing pane 541. The miniplayer userinterface 550 includes a mini-image 533B, a reduced-size version of theimage 533 associated with the third media item.

In some implementations, the mini-image 533B operates as an affordanceproviding the same functionality as the pause-play affordance 521A.Thus, in some implementations, the miniplayer user interface 550 doesnot include the pause-play affordance 521A. In some implementations, theminiplayer user interface 550 includes other affordances other thanthose shown in FIG. 5AI.

FIG. 5AJ illustrates the user interface 501 in response to detecting asecond portion of the swipe 581M (e.g., movement of the contact a seconddistance) over the image 533. In FIG. 5AJ, the now-playing pane 541 ismoved further downward, revealing more of the playlist pane 546. Theminiplayer user interface 550 remains between the now-playing pane 541and the playlist pane 546.

FIG. 5AK illustrates the user interface 501 in response to detecting athird portion of the swipe 581M (e.g., liftoff of the contact) over theimage 533. In FIG. 5AK, the now-playing pane 541 is no longer displayedand the miniplayer user interface 550 is displayed at the bottom of thedisplay. The playlist pane 546 is fully displayed at the top of thedisplay. Beneath the playlist pane 546, the suggestions pane 544 ispartially displayed.

FIG. 5AL illustrates the user interface 501 with a touch 581N detectedwithin the miniplayer user interface 550. The touch 581N is not detectedat the location of the mini-image 533B or the pause-play affordance521A. The touch 581N includes a first portion (touchdown of a contact onthe image on the touch-sensitive display of the portable multifunctionaldevice 100) and a second portion (liftoff of the contact from thetouch-sensitive display of the portable multifunctional device 100).

FIG. 5AM illustrates the user interface 501 in response to detecting thetouch 581N within the miniplayer user interface 550. In FIG. 5AM, theminiplayer user interface 550 is moved upward as compared to itslocation in FIG. 5AL. In space provided, the now-playing pane 541 ispartially displayed. Thus, the playlist pane 546 is only partiallydisplayed, obscured by the miniplayer user interface 550 and thenow-playing pane 541.

FIG. 5AN illustrates the user interface 501 of FIG. 5AM at a slightlylater time. In FIG. 5AN, the miniplayer user interface 500 is movedfurther upward as compared to its location in FIG. 5AM and more of thenow-playing pane 541 is displayed as it is similarly moved upward.

FIG. 5AO illustrates the user interface 501 of FIG. 5AN at a slightlylater time. In FIG. 5AO, the now-playing pane is moved further upward ascompared to its location in FIG. 5AN to a point that the top of thenow-playing pane is off the top of the display (e.g., not displayed). Atthe bottom of the display, the lyrics pane 542 is displayed.

FIG. 5AP illustrates the user interface 501 of FIG. 5AO at a slightlylater time. In FIG. 5AP, the now-playing pane 541 occupies the entiredisplay. The lyrics pane 542, displayed in FIG. 5AO is now longerdisplayed.

Thus, FIGS. 5AL-5AP illustrate an animation that occurs in response todetecting the touch 581N without detecting further input. The animationtemporarily displays the lyrics pane 542 and, at least, the lyricstoggle affordance 542A (e.g., in FIG. 5AO). The animation includes thenow-playing pane 541 moving upward from the bottom of the display,filling the display, partially moving off the top of the display toreveal the lyrics pane 542, and moving downward to once again fill thedisplay.

FIG. 5AQ illustrates the user interface 501 with an album pane 547. Thealbum pane 547 can be displayed in response to a number of inputs (notshown) navigating to the album pane 547. FIG. 5AQ also illustrates theuser interface 501 with the miniplayer user interface 550 displayed atthe bottom of the display. FIG. 5AQ illustrates the miniplayer userinterface 550 with a repeat affordance 551 for toggling a repeat settingof the portable multifunctional device 100 and a shuffle affordance 552for toggling a shuffle setting of the portable multifunctional device100.

When the repeat setting is set to a repeat all setting, the portablemultifunctional device 100 plays back a first media item in a groupafter playing all the all the media items in a group. When the repeatsetting is set to a repeat one setting, the portable multifunctionaldevice 100 restarts playback of a media item when the media item hascompleted playing. When the repeat setting is set to off, the portablemultifunctional device 100 does not play back additional media when themedia items in a group have completed playing. When the shuffle settingis set to shuffle, the portable multifunctional device 100 plays backmedia items of a group in a random order. When the shuffle setting isset to off, the portable multifunctional device 100 plays back mediaitems of a group in a set order.

The album pane 547 includes album identifying information 514 thatinclude, in FIG. 5AQ, an image associated with the album, a title of thealbum, an artist of the album, a genre of the album, and a release yearof the album. The album pane 547 includes a track listing 547A includingrepresentations of a number of media items of the album. Each of therepresentations includes identifying text for the media item and aninteraction affordance 547B associated with the media item. FIG. 5AQillustrates a touch 581O detected at a location of an interactionaffordance associated with a first media item of the album.

FIG. 5AR illustrates the user interface 501 of FIG. 5AQ in response todetecting the touch 581O at the location of the interaction affordanceassociated with the first media item of the album. The user interface501 includes an interaction window 561 with a queueing affordance 561Afor adding the first media item of the album to a queue. In variousimplementations, the interaction window 561 can include additionalaffordances for interacting with the media item not shown in the figuresfor simplicity of illustration and explanation. FIG. 5AR illustratesthat when the interaction window 561 is displayed, the rest of the userinterface 501 is darkened.

FIG. 5AS illustrates the user interface 501 of FIG. 5AR with a touch581P detected at a location of the queueing affordance 561A.

FIG. 5AT illustrates the user interface 501 of FIG. 5AS in response todetecting the touch 581P at the location of the queueing affordance 561Aand a determination that the currently playing media item meetsgroup-sensitive queueing criteria. The group-sensitive queueing criteriainclude a criterion that is met if the currently playing media item ispart of a predefined group of media items in a queue, such as an albumor a playlist. The group-sensitive queueing criteria can also include acriterion that is met if the predefined group of media items is lessthan a predefined size.

The user interface 501 includes a queueing window 562 with one or morequeueing option affordances. In FIG. 5AT, the queueing optionaffordances include a play next affordance 562A for playing the firstmedia item of the album after the currently playing media item (andbefore the rest of the media items in the predefined group). In FIG.5AT, the queueing option affordances include a play after affordance562B for playing the first media item of the album after the rest of themedia items in the predefined group.

FIG. 5AU illustrates the user interface 501 of FIG. 5AS in response todetecting the touch 581P at the location of the queueing affordance 561Aand a determination that the currently playing media item does not meetthe group-sensitive queueing criteria. The user interface 501 includesthe queueing window 562, but, in FIG. 5AU, the queueing window 562 doesnot include the play after affordance 562B.

FIG. 5AV illustrates another embodiment of the user interface 501 ofFIG. 5AS in response to detecting the touch 581P at the location of thequeueing affordance 561A and a determination that the currently playingmedia item does not meet the group-sensitive queueing criteria. The userinterface 501 includes the queueing window 561, but, in FIG. 5AV, theplay after affordance 562B is replaced with a play later affordance 562Cfor playing the first media item of the album after a fixed number ofmedia items have played.

FIG. 5AW illustrates the user interface 501 of FIG. 5AT with a touch581Q detected at a location of the play next affordance 562A.

FIG. 5AX illustrates the user interface 501 in response to detecting thetouch 581Q at the location of the play next affordance 562A in FIG. 5AW.The user interface 501 displays the queue pane 543 including a queuerepresentation 543A. The queue representation 543A includes a pluralityof elements respectively associated with one or more of the media itemsin the queue. In FIG. 5AX, the queue includes a number of media itemsfrom the group, e.g., the playlist shown in FIG. 5AK. In FIG. 5AX, thequeue also includes the first media item of the album, positioned at thetop of the queue.

Each of the plurality of elements of the queue representation 543Aincludes a mini-image and identifying text indicative of the respectivemedia item. The mini-image can be, for example, a reduced-size versionof an image associated with the media item (e.g., album art). Theidentifying text can include, as shown in FIG. 5AX, a title of the mediaitem and artist of the media item. The identifying text can includeadditional information, such as an album of the media item.

FIG. 5AX illustrates that the elements of the queue associated with thegroup are visually separate from the other elements of the queue (e.g.,the element corresponding to the first media item of the album). Inparticular, the queue representation 543A includes a banner 543Bseparating the elements of the queue associated with the group from theother elements of the queue.

FIG. 5AY illustrates an alternative embodiment of the user interface 501of FIG. 5AX. In FIG. 5AY, the elements of the queue associated with thegroup are replaced with a single element. Thus, the group (e.g., analbum or a playlist) is represented by a single element including anicon and identifying text. In FIG. 5AY, the identifying text includes aname of the group (e.g., a name of the playlist).

FIG. 5AZ illustrates the user interface 501 of FIG. 5AT with a touch581R detected at the location of the play after affordance 562B.

FIG. 5BA illustrates the user interface 501 in response to detecting thetouch 581R at the location of the play after affordance 562B in FIG.5AZ. The user interface 501 displays the queue pane 543 including aqueue representation 543A. The queue representation 543A includes aplurality of elements respectively associated with one or more of themedia items in the queue. In FIG. 5BA, the queue includes a number ofmedia items from the group, e.g., the playlist shown in FIG. 5AK. InFIG. 5BA, the queue also includes the first media item of the album,positioned at the bottom of the queue.

FIG. 5BB illustrates the user interface 501 with the album pane 547. Thealbum pane 547 can be displayed in response to a number of inputs (notshown) navigating to the album pane 547 from the state of the userinterface 501 in FIG. 5AY (e.g., with the first media album of the itemscheduled to play next rather than after the playlist as in FIG. 5BA).

FIG. 5BB, like FIG. 5AQ, also illustrates the user interface 501 withthe miniplayer user interface 550 displayed at the bottom of thedisplay. The miniplayer user interface 550 includes the repeataffordance 551 and the shuffling affordance 552.

With the first media item of the album added to the queue, and the queueincluding media items from the predefined group, the repeat affordance551 indicates that the repeat setting is set to the off setting and theshuffle affordance 552 indicates that the shuffle setting is set to theoff setting. Thus, in response to a media item being added to the queue,the portable multifunctional device 100 disables a non-linear playbackfunction (e.g., repeat of shuffle) by setting the corresponding settingto an off setting. In some implementations, once the media item that hasbeen added to the queue has completed playing, the portablemultifunctional device 100 enables the non-linear playback function.

FIG. 5BB illustrates a touch 581S detected at a location of aninteraction affordance associated with a sixth media item of the album.

FIG. 5BC illustrates the user interface 501 in response to detecting thetouch 581S at the location of the interaction affordance associated withthe sixth media item of the album. The user interface 501 includes aninteraction window 561 with queueing affordance 561A for adding thesixth media item of the album to a queue. As mentioned above, in variousimplementations, the interaction window 561 can include additionalaffordances for interacting with the media item not shown in the figuresfor simplicity of illustration and explanation.

FIG. 5BC illustrates a touch 581T detected at a location of the queueingaffordance 561A.

FIG. 5BD illustrates the user interface 501 in response to detecting thetouch 581T at the location of the queueing affordance 561A. The userinterface 501 includes the queueing window 562 with one or more queueingoption affordances. In FIG. 5BD, the queueing option affordances includea play next affordance 562A for playing the sixth media item of thealbum after the currently playing media item (and before the rest of themedia items in the queue, including the first media item of the albumand the rest of the media items of the predefined group). In FIG. 5BD,the queueing option affordances include a play after affordance 562B forplaying the sixth media item of the album after the rest of the mediaitems in the predefined group. In FIG. 5BD, the queueing optionaffordances include a play end affordance 562D for playing the sixthmedia item of the album after the first media item of the album, butbefore the rest of the media items in the predefined group.

FIG. 5BE illustrates the user interface 501 of FIG. 5BD with a touch581U detected at the location of the play next affordance 562A.

FIG. 5BF illustrates the user interface 501 in response to detecting thetouch 581U at the location of the play next affordance 562A. The userinterface 501 includes the queue pane 543 including the queuerepresentation 543A. The queue representation 543A indicates that thesixth media item of the album is at the top of the queue, followed bythe first media item of album, followed by the rest of the media itemsof the predefined group.

FIG. 5BG illustrates the user interface 501 of FIG. 5BD with a touch581V detected at the location of the play end affordance 562D.

FIG. 5BH illustrates the user interface 501 in response to detecting thetouch 581V at the location of the play end affordance 562D. The userinterface 501 includes the queue pane 543 including the queuerepresentation 543A. The queue representation 543A indicates that thefirst media item of the album is at the top of the queue, followed bythe sixth media item of album, followed by the rest of the media itemsof the predefined group.

FIG. 5BI illustrates the user interface 501 of FIG. 5BD with a touch581W detected at the location of the play after affordance 562B.

FIG. 5BJ illustrates the user interface 501 in response to detecting thetouch 581W at the location of the play after affordance 562B. The userinterface 501 includes the queue pane 543 including the queuerepresentation 543A. The queue representation 543A indicates that thefirst media item of the album is at the top of the queue, followed bythe rest of the media items of the predefined group, followed by thesixth media item of album.

FIG. 5BK illustrates the user interface 501 of FIG. 5BJ with a drag 581Xdetected at a drag affordance associated with the element of the queuerepresentation 543A associated with the sixth media item of the album.

FIG. 5BL illustrates the user interface 501 in response to detecting thedrag 581X at the drag affordance associated with the element of thequeue representation 543A associated with the sixth media item of thealbum. The queue representation 543A of the user interface 501 haschanged indicating a new ordering of the media items in the queue. Inparticular, the sixth media item of the album has been moved to the topof the queue.

FIG. 5BM illustrates the user interface 501 of FIG. 5BL with a drag 581Ydetected at a drag affordance associated with the element of the queuerepresentation 543A associated with the rest of the media items in thegroup.

FIG. 5BN illustrates the user interface 501 in response to detecting thedrag 581Y at the drag affordance associated with the element of thequeue representation 543A associated with the rest of the media items inthe group. The queue representation 543A of the user interface 501 haschanged indicating a new ordering of the media items in the queue. Inparticular, the first media item of the album has been moved to thebottom of the queue. Further, the single element associated with therest of the media items in the group has been replaced with a pluralityof elements respectively associated with the rest of the media items inthe group.

FIG. 5BO illustrates the user interface 501 of FIG. 5BN with a swipe581Z detected over an element of the queue representation 543A.

FIG. 5BP illustrates the user interface 501 in response to a firstportion of the swipe 581Z detected over the element of the queuerepresentation 543A. The element is moved in the direction of the swipe581Z. In the space provided, a remove affordance 543C is displayed. Insome implementations, the media item associated with the element isremoved in response to detecting a touch at the location of the removeaffordance 543C.

FIG. 5BQ illustrates the user interface 501 in response to a secondportion of the swipe 581Z detected over the element of the queuerepresentation 543A. The queue representation 543A is changed, havinghad the element removed, indicating that the media item associated withthe element is no longer in the queue.

FIG. 5BR illustrates the user interface 501 with the album pane 547. Asmentioned above, the album pane 547 can be displayed in response to anumber of inputs (not shown) navigating to the album pane 547. FIG. 5BRalso illustrates the user interface 501 with the miniplayer userinterface 550 displayed at the bottom of the display. In FIG. 5AQ, theminiplayer user interface includes identifying text 514A for a fourthmedia item (previous represented in the queue representation 553A ofFIG. BQ).

FIG. 5BR illustrates the album pane 547 including an add affordance 571Aproximate to the album identifying information 514. In variousimplementations, the user interface 501 can display informationregarding (and playback) media items of a database accessible via anetwork using a wired data connection or a wireless data connection suchas WiFi or a cellular connection. A set of the media items can bedesignated as part of a user library for ease of navigation at latertimes. Further, media items of the user library can be downloaded ontothe portable multifunctional device 100 for playback when the network isinaccessible.

FIG. 5BR illustrates a touch 582A detected at a location of the addaffordance 571A.

FIG. 5BS illustrates the user interface 501 in response to detecting thetouch 582A at the location of the add affordance 571A. The userinterface 501 includes an auto-add window 563 with one or more auto-addoption affordances. In FIG. 5BS, the auto-add option affordances includean activate affordance 563A for activating an auto-add feature. With theauto-add feature activated, the portable multifunctional device 100downloads (without further user input) media items added to (or alreadypresent in) the user library. In FIG. 5BS, the auto-add optionaffordances include a dismiss affordance 563B for declining to activatethe auto-add feature. In some implementations, the auto-add optionaffordances include other affordances, such as a later affordance forcausing the portable multifunctional device 100 to display the auto-addwindow 563 at a later date or a selective affordance for partiallyactivating the auto-add feature such that only some (e.g., often playedor some other heuristic) media items of the library are downloaded.

FIG. 5BS illustrates a touch 582B detected at a location of the dismissaffordance 563B.

FIG. 5BT illustrates the user interface 501 in response to detecting thetouch 582B at the location of the dismiss affordance 563B. The addaffordance 571A is replaced with a download affordance 571B fordownloading the media files of the album to the portable multifunctionaldevice 100. Further, the track listing 547A, including representationsof the media items of the album, includes track download affordances547C for downloading individual media files of the album.

FIG. 5BT illustrates a touch 582C detected at a location of the downloadaffordance 571B.

FIG. 5BU illustrates the user interface 501 in response to detecting thetouch 582C at the location of the download affordance 571B. The downloadaffordance 571B is replaced with a download indicator affordance 571Cindicating an amount of the media files of the album downloaded to theportable multifunctional device 100. Further, the track downloadaffordances 547C are replaced with track download indictors 547Dindicating an amount of each media file of the album downloaded to theportable multifunctional device 100.

FIG. 5BV illustrates an alternative embodiment of the user interface ofFIG. 5BU in which the track download indicators 547E for completedtracks are absent. In various implementations, when the album iscompleted downloading, the download indicator affordance 571C for thealbum is also absent, e.g., replaced by a whitespace.

FIG. 5BW illustrates the user interface with an insufficient storagewindow 564. The user interface 501 can display the insufficient storagewindow 564 in response to a request to store an additional one or moremedia items on a storage device of the portable multifunctional device100 the storage device and determining that storing the additional oneor more media items would use more than an available amount of storageof the storage device. As shown in FIG. 5BW, the insufficient storagewindow 564 is displayed in response to a request to download (and store)the media items of the album.

The insufficient storage window 564 includes a notification (includingtext) indicating that there is insufficient storage in a storage deviceof the portable multifunctional device 100 to store all of the mediaitems of the album. The insufficient storage window 564 also includes aplurality of storage management affordances.

In FIG. 5BW, the storage management affordances include an optimizestorage affordance 564A for setting an optimize storage setting (asdescribed further below). In FIG. 5BW, the storage managementaffordances include a manual storage management affordance 564B formanually managing storage of media (as described further below), and acancel affordance 564C for cancelling the storage operation thatprompted the display of the insufficient storage window 564, e.g.,cancelling download of the media items of the album.

FIG. 5BW illustrates a touch 582D detected at a location of the optimizestorage affordance 564A.

FIG. 5BX illustrates the user interface 501 in response to detecting thetouch 582D at the location of the optimize storage affordance 564A. Theuser interface 501 includes a music settings user interface 575. Themusic settings user interface 575 includes a plurality a music settingaffordances for changing music settings. In FIG. 5BX, the music settingsuser interface 575 includes an auto-add toggle affordance 575A fortoggling the auto-add feature. In FIG. 5BX, the music settings userinterface 575 includes an optimize storage settings affordance 575B fordisplaying an optimize storage user interface (as described below) and,ultimately, changing optimize storage settings. In variousimplementations, the music settings user interface 575 can includeadditional music setting affordances for changing other music settings.

In FIG. 5BX, the auto-add toggle affordance 575A indicates that theauto-add feature is not activated and the optimize storage settingsaffordance 575B indicates that the optimize storage setting is set tooff.

FIG. 5BX illustrates a touch 582E detected at a location of the optimizesettings storage affordance 575B.

FIG. 5BY illustrates the user interface 501 in response to detecting thetouch 582E at the location of the optimize storage settings affordance575B. The user interface 501 includes an optimize storage user settingsuser interface 576. The optimize storage settings user interface 576includes one or more optimize storage settings affordances for changingoptimize storage settings. In FIG. 5BY, the optimize storage settingsaffordances include an optimize storage feature toggle 576A for togglingan optimize storage feature.

FIG. 5BY illustrates a touch 582F detected at a location of the optimizestorage feature toggle 576A.

FIG. 5BZ illustrates the user interface 501 in response to the touch582F detected at the location of the optimize storage feature toggle576A. The user interface 501 includes the optimize storage userinterface 576 in which the optimize storage feature toggle 576A is setto on. The optimize storage user interface 576 includes a media storagedisplay 576B indicative of an amount of storage on a storage device ofthe portable multifunctional device 100 used by media files.

The optimize storage user interface 576 includes a plurality of mediastorage reservation size affordances 576C for selecting an amount ofstorage to reserve for media items. The amounts of storage indicated bythe media storage reservation size affordances 576C are, in someimplementations, based on a size of the storage device. For example, fora storage device with 32 GB of storage space, the media storagereservation size affordances 576C can (as shown in FIG. 5BZ) includeaffordances for no minimum, 1 GB, 2 GB, and 4 GB. For a storage devicewith 4 GB of storage space, the media storage reservation sizeaffordances 576C can include affordances for no minimum, 100 MB, 250 MB,and 1 GB.

FIG. 5BZ illustrates a touch 582G detected at a location of a 2 GB mediastorage reservation size affordance of the plurality of media storagereservation size affordances 576C.

FIG. 5CA illustrates the user interface 501 in response to detecting thetouch 582G at the location of the 2 GB storage reservation sizeaffordance. In FIG. 5CA, the optimize storage feature is activated, asindicated by the optimize storage feature toggle 576A in the on state.Further, the media storage reservation size is set to 2 GB, as indicatedby the media storage reservation size affordances 576C.

When the optimize storage feature is active, the portablemultifunctional device 100 can, without further user input, delete mediafiles to free storage of a storage device of the portablemultifunctional device 100 while maintaining at least the media storagereservation size of media files. For example, as shown in FIG. 5CA, theportable multifunctional device 100 is storing 6.4 GB of media files,but has reserved 2 GB for media files. Thus, the portablemultifunctional device 100 can, without further user input, delete up to4.4 GB of media files in order to perform other storage operations.However, the portable multifunctional device 100 does not delete morethan 4.4 GB of media files without further user input.

In operation, the portable multifunctional device 100 can detect theoccurrence of a condition that corresponds to a request to free storage(e.g., the request to download the media files of the album in FIG. 5BTwhen there is insufficient storage to complete the download as indicatedby FIG. 5BW). In accordance with a determination that the amount ofstorage used by media files (e.g., 6.4 GB in FIG. 5CA) is greater thanthe minimum amount of media storage that has been reserved for mediaitems (e.g., 2 GB in FIG. 5CA), the portable multifunctional device 100can delete one or more of the stored media items. In accordance with adetermination that the amount of storage used by media files is lessthan the minimum amount of media storage reserved for media items, theportable multifunctional device 100 can forgo deleting media items fromthe device.

It is to be understood that although the media storage reservation sizelimits the amount of media items that can be deleted without furtheruser input, the media storage reservation size does not set of a maximumlimit for the amount of media files that can be stored on the device.

FIG. 5CA illustrates a touch 582H detected at a music settingsaffordance 576D for returning to the music settings user interface 575.

FIG. 5CB illustrates the user interface 501 in response to detecting thetouch 582H at the music settings affordance 576D. The music settingsuser interface 575 (in contrast to FIG. 5BX) includes a media deletionwarning 575C indicating that, due to the optimize storage feature beingactivated and the media storage reservation size being less than theamount of storage used by media files, media files may be deletedwithout further user input.

FIG. 5CB illustrates a touch 582I at a location of the auto-add toggleaffordance 575A.

FIG. 5CC illustrates the user interface 501 in response to detecting thetouch 582I at the location of the auto-add toggle affordance 575A. Theuser interface 501 continues to display the music settings userinterface 575. The music settings user interface 575 includes theauto-add toggle affordance 575A in an on state, indicating that theauto-add feature is activated. The music settings user interface 575includes the optimize storage settings affordance 575B indicating thatthe optimize storage feature is activated with a media storagereservation size of 2 GB.

With both of these features activated, the portable multifunctionaldevice 100 automatically downloads media files added to (or present in)the user library. When storage space is needed for other storageoperations, the portable multifunctional device 100 can delete mediaitems in order to perform the other storage operations.

FIG. 5CD illustrates the user interface 501 with the insufficientstorage window 564. FIG. 5CD differs from FIG. 5BW in that FIG. 5CDillustrates a touch 582J detected at a location of the manual storagemanagement affordance 564B.

FIG. 5CE illustrates the user interface 501 in response to detecting thetouch 582J at the location of the manual storage management affordance564B. The user interface 501 includes a manual storage management userinterface 577. The manual storage management user interface 577 includesa list of media items 577F stored in the portable multifunctional device100 (or a storage device thereof).

In various implementations, the list of media items 577F is prioritizedaccordance to a size of the media item and/or a listening history of themedia item. For example, the list of media items 577F can be orderedaccording to the size of the media items and/or listening history of themedia items. As another example, the list of media items 577F caninclude only media items that are being proposed for deletion based onthe size of the media items and/or listening history.

In some implementations, the list of media items 577F includes one ormore the media files of one or more albums, and the media filesassociated with a particular album are listed together as a group.

The list of media items 577F includes a plurality of elements, eachcorresponding to a media file. As shown in FIG. 5CE, each elementincludes a selection affordance 577E for selecting or deselecting themedia file, an icon and identifying text indicative of the respectivemedia item, and a size of the media item.

The manual storage management user interface 577 includes a deleteselected affordance 577A for deleting the selected media files, adeselect all affordance 577B for deselecting all the media files (e.g.,changing the selection affordances 577E into a deselected state), and acancel affordance 577C for leaving the manual storage management userinterface 577.

In some implementations, the manual storage management user interface577 includes additional affordances for deleting media items. In oneembodiment, the manual storage management user interface 577 includes adelete all affordance for deleting all the media files. In such anembodiment, the manual storage management user interface 577 may notinclude selection affordances 577E and the list of media items 577F mayinclude only media items that are being proposed for deletion based onthe size of the media items and/or listening history.

In some implementations, the manual storage management user interface577 includes a plurality of delete affordances in the list of mediaitems 577F for deleting respective ones of the media items.

FIG. 5CF illustrates the user interface 501 including a synched playlistuser interface 578. The synched playlist user interface 578 can bedisplayed in response to a number of inputs (not shown) navigating tothe synched playlist user interface 578. For example, from a settingsuser interface, a user input can be detected navigating to a watchsettings user interface. From the watch settings user interface, a userinput can be detected navigating to a watch music settings userinterface (described below). From the watch settings user interface, auser input can be detected navigating to the synched playlist userinterface 578. The synched playlist user interface 578 includes a listof playlist selection affordances 578A for selecting a playlist to besynched. When a playlist is synched with a device, the media items ofthe playlist are stored on the device for offline consumption.

The playlist selection affordances 578A include a smart playlistselection affordance 578B for synching an algorithmically selected setof media items. The playlist selection affordances 578A include a randomplaylist selection affordance 578C for synching a random set of mediaitems with the user device. The playlist selection affordances 578Ainclude a number of user playlist selection affordances for synching auser-selected set of media items, including a large playlist selectionaffordance 578D for synching a large user-selected set of media items.

FIG. 5CF illustrates a touch 582K detected at a location of the largeplaylist selection affordance 578D.

FIG. 5CG illustrates the user interface 501 in response to detecting thetouch 582K at the location of the large playlist selection affordance578D. The user interface 501 includes a large playlist window 565. Thelarge playlist window 565 includes a notification indicating that thesize of the playlist is larger than a size of a storage device of thedevice to which the playlist is to be synched. The notification furtherindicates that the playlist is to be only partially synched, in whichless than all of the media items of the playlist are stored on thedevice. The large playlist window 565 includes an accept affordance 565Afor partially synching the playlist and a cancel affordance 565B for notsynching the playlist (and allowing another playlist to be selected).

FIG. 5CG illustrates a touch 582L detected at a location of the acceptaffordance 565A.

FIG. 5CH illustrates the user interface 501 in response to detecting thetouch 582L at the location of the accept affordance 565A. The userinterface 501 includes the synched playlist user interface 578.

FIG. 5CH illustrates a touch 582M at a location of a watch musicsettings affordance 578E for navigating to a watch music settings userinterface.

FIG. 5CI illustrates the user interface 501 in response to detecting thetouch 582M at the watch music settings affordance 578E. The userinterface 501 includes a watch music settings user interface 579. Thewatch music settings user interface 579 includes a synched playlistselection affordance 579A for navigating to the synched playlist userinterface 578. The synched playlist selection affordance 579A indicatesthe large playlist is selected for synching and that the large playlistis only partially synched. The watch music settings user interface 579includes an optimize storage affordance 579B for activating the optimizestorage feature for the device (or for an associated device).

FIG. 5CJ illustrates the user interface 501 including a playlist userinterface 590. The playlist user interface 590 can be displayed inresponse to a number of inputs (not shown) navigating to the playlistuser interface 590. The playlist user interface 590 includes a pluralityof playlist affordances 591 for displaying representations of respectiveplaylists which include affordances for playing back the media items ofthe playlist.

The playlist affordances 591 include a first automatically-generatedplaylist affordance 592A for displaying a representation of a firstautomatically-generated playlist and a second automatically-generatedplaylist affordance 592B for displaying a representation of a secondautomatically-generated playlist.

FIG. 5CJ illustrates a touch 582N detected at a location of the firstautomatically-generated playlist affordance 592A.

FIG. 5CK illustrates the user interface 501 in response to detecting thetouch 582N at the location of the first automatically-generated playlistaffordance 592A. The user interface 501 includes a representation of thefirst automatically-generated playlist 593. The representation of thefirst automatically-generated playlist 593 includes representations of afirst set of media items 596 selected for inclusion in the firstautomatically-generated playlist based on first playlist generationcriteria for the first automatically-generated playlist.

The representation of the first automatically-generated playlist 593includes identifying information 594 that includes, in FIG. 5CK, a titleof the first automatically-generated playlist, the number of media itemsin the first automatically-generated playlist, and a time theautomatically-generated playlist was last updated.

The representation of the first automatically-generated playlist 593include a save affordance 595A for saving the first set of media itemsas a user playlist. The representation of the firstautomatically-generated playlist 593 includes a share affordance 595Bfor sharing the first set of media items as a shared playlist.

FIG. 5CK illustrates a touch 5280 detected at a location of the saveaffordance 595A.

FIG. 5CL illustrates the user interface 501 in response to detecting thetouch 5280 at the location of the save affordance 595A. The userinterface 501 includes the playlist user interface 590. The playlistuser interface includes a saved affordance 591A corresponding to a userplaylist of the first set of media items in the firstautomatically-generated playlist.

FIG. 5CL illustrates a state in which a first update criterion has beenmet. In various implementations, the first update criterion specifiesthat the first set of media items is to be updated on a predefined dayof the week.

FIGS. 5CL-5CP illustrate an update animation that occurs in response tothe first update criterion having been met. In FIG. 5CL, the firstautomatically-generated playlist affordance 592A includes a firstplurality of images respectively associated with a plurality of thefirst set of media items. In FIG. 5CP, the first automatically-generatedplaylist affordance 592A includes an updated first plurality of imagesrespectively associated with a plurality of an updated first set ofmedia item.

Thus, FIGS. 5CL-5CP illustrate an update animation in which one or moreof the first plurality of images are replaced with one or more of theupdated first plurality of images. The animation indicates that newmedia items have been added to the first automatically-generatedplaylist.

Although FIG. 5CL-5CP illustrate an update animation in which one ormore of the first plurality of images are flipped over to review one ormore of the updated first plurality of images, other update animationscan be used. For example, in some implementations, one or more of thefirst plurality of images drop off the bottom of the display (or thefirst automatically-generated playlist affordance 592A) and are replacedby one of more of the updated first plurality of images falling in fromthe top of the display (or the first automatically-generated playlistaffordance 592A).

FIG. 5CP illustrates a touch 582P detected at a location of the firstautomatically-generated playlist affordance 592A.

FIG. 5CQ illustrates the user interface 501 in response to detecting thetouch 582P at the location of the first automatically-generated playlistaffordance 592A. The user interface 501 includes an updatedrepresentation of the first automatically-generated playlist 593 thatincludes representations of an updated first set of media items 596.

In response to detecting that the first update criterion for the firstautomatically-generated playlist has been met, the portablemultifunctional device 100 (in addition to displaying the updateanimation as described above) updates the first automatically-generatedplaylist based on the first playlist generation criteria and userinteraction with the media items in the first set of media items.Updating the first automatically-generated playlist (e.g., updating thefirst set of media items), includes adding one or more added media itemsto the first set of media items, removing one or more removed mediaitems from the first set of media items, and maintaining a plurality ofmedia items in the first set of media items. In some implementations, aplurality of media items in the first set of media items are maintained.

The user interactions with the representations of the media items caninclude playing various media items of the first automatically-generatedplaylist (e.g., multiple times), rating the media items of the firstautomatically-generated playlist (e.g., on a scale of 1 to 5 stars),like/dislike flagging the media items of the firstautomatically-generated playlist, sharing one or more of the media itemsof the first automatically-generated playlist, viewing related mediaitems of the media items of the first automatically-generated playlist,viewing lyrics of the media items of the first automatically-generatedplaylist, or otherwise interacting with the media items.

For example, in some embodiments, if the user interactions with therepresentations of the media items include playback of one of the mediaitems multiple times, the media item can be maintained and similar mediaitems can be added. If the user interactions with the representations ofthe media items include skipping a media item (especially, repeatedlyskipping a media item), the media item can be removed. If the userinteractions include like (or love) flagging a media item, the mediaitem can be maintained and similar media items can be added. Similarly,if the user interactions include dislike (or hate) flagging a mediaitem, the media item can be removed.

In some embodiments, the first set of media items is updated without auser manually adding and/or removing media items from theautomatically-generated playlist. In some embodiments, a user ispermitted to removed media items from the automatically-generatedplaylist, but is not permitted to add media items to theautomatically-generated playlist. However, in some embodiments, a usercan add and/or remove media items from a saved version (e.g., using thesave affordance

In various implementations, the number of the added media items and thenumber of the removed media items are selected such that a size of thefirst automatically-generated playlist is maintained within a playlistsize range. The playlist size range can be, for example, a fixed number(e.g., 80 songs in FIG. 5CQ) or a range of numbers, e.g., between 75 and90 songs. The playlist size range can be a range of a duration ofplaylist (e.g., a range of times) such that the amount of time to playback all the updated first set of media items is within a time window(e.g., between 3.5 and 4.5 hours).

In some implementations, the number of the added media items is fixedand the number of the removed media items is selected such that size ofthe first automatically-generated playlist is maintained within theplaylist size range. In some implementations, the number of the addedmedia items is equal to the number of the removed media items. In someimplementations, the number of the added media items is greater or lessthan the number of the removed media items.

The representation of the updated first set of media items 596 includesnew media item indicators 596A displayed in association with respectiveadded media items. Each new media item indicator 596A can be, forexample, a dot or icon displayed beside a corresponding representationof the added media item. In various implementations, the new media itemindicators 596A can be substantially similar to a new message indicatorused to indicate new messages in a messaging application (e.g., a mailapplication) of the portable multifunctional device 100.

FIG. 5CQ illustrates a touch 582Q detected at a location of arepresentation of one of the updated first set of media items 596.

FIG. 5CR illustrates the user interface 501 in response to detecting thetouch 582Q at the location of the representation of the one of theupdated first set of media items 596. The user interface 501 includesthe playlist user interface 593 with the miniplayer user interface 550displayed at the bottom of the display. In FIG. 5CR, the miniplayer userinterface includes identifying text 515A for a fifth media item (e.g.,the one of the updated first set of media items).

FIG. 5CR illustrates that the new media item indicators 596A do notinclude a new media item indicator for the fifth media item. Thus, insome implementations, the portable multifunctional device 100 ceases todisplay one of the new media item indicators in response to a userinteraction with a corresponding media item.

FIG. 5CR illustrates a touch 582R detected at a location of the shareaffordance 595B.

FIG. 5CS illustrates the user interface 501 in response to a touch atthe location of a share affordance of another user's device. The userinterface 501 includes the playlist user interface 590. The playlistuser interface includes a shared affordance 591B corresponding to ashared playlist from another user to the user of the portablemultifunctional device 100. In various implementations, the sharedplaylist includes a set of media items that is different from the firstset of media items or the updated first set of media items. In someimplementations, the shared playlist is fixed (and includes a date atwhich it was fixed). In other implementations, the shared playlist isupdated when the other user's playlist is updated.

FIG. 5CS illustrates a drag 582S detected at a location of the firstautomatically-generated playlist affordance 592A.

FIG. 5CT illustrates the user interface 501 in response to detecting thedrag 582S at the location of the first automatically-generated playlistaffordance 592A. The user interface 501 continues to the display theplaylist user interface 590. In addition to the secondautomatically-generated playlist affordance 592B, a thirdautomatically-generated playlist affordance 592C is at least partiallydisplayed.

In various implementations, the multiple automatically-generatedplaylists are generated according to different playlist generationcriteria (e.g., have different themes) and are updated according todifferent update criteria (e.g., on different days of the week).

FIGS. 6A-6E illustrate a flow diagram of a method 600 of playing backmedia items in accordance with some embodiments. The method 600 isperformed at an electronic device (e.g., the portable multifunctiondevice 100 in FIG. 1A, or the device 300 in FIG. 3) with a display, atouch-sensitive surface, and one or more sensors to detect intensity ofcontacts with the touch-sensitive surface. In some embodiments, thedisplay is a touch-screen display and the touch-sensitive surface is onor integrated with the display. In some embodiments, the display isseparate from the touch-sensitive surface. Some operations in method 600are, optionally, combined and/or the order of some operations is,optionally, changed.

As described below, the method 600 provides an intuitive way to playbackmedia items. The method reduces the cognitive burden on a user whenplaying back media items, thereby creating a more efficienthuman-machine interface. For battery-operated electronic devices,enabling a user to playback media items faster and more efficientlyconserves power and increases the time between battery charges.

The device displays (602), on the display, a playback status indicatorregarding playback of a media item. For example, in FIG. 5A, the devicedisplays a pause-play affordance 521 (in a pause state) and identifyingtext 511 for a first media item indicating that the first media item isplaying. As another example, in FIG. 5C, the device displays thepause-play affordance 521 (in a play state) and the identifying text 511for the first media item indicating that the first media item is paused.As another example, in FIG. 5M, the device displays the pause-playaffordance 521 (in a pause sate) and identifying text 512 for a secondmedia item indicating that the second media item is playing. As anotherexample, in FIG. 5AK, the device displays a miniplayer user interface550 including a pause-play affordance 521A and identifying text 513A fora third media item indicating that the third media item is playing.

The device displays (604), on the display, an image associated with themedia item. For example, in FIG. 5A, the device displays an image 531associated with the first media item.

The device detects (606) an input interacting with the image. In someembodiments, the device detects (608) a contact at the location of theimage. The contact can be, for example, a touch or a tap at the locationof the image. Thus, the image provides information to a user and alsoacts as an interactive affordance. This uses the space on the screenmore efficiently, resulting in a more efficient human-machine interface(as a user need not manipulate the user interface to find affordancesfor performing the functions of interacting with the image). Forbattery-operated electronic devices, a more efficient human-machine userinterface conserves power and increases the time between batterycharges. Further, a more efficient human-machine user interface reducesthe amount of user interaction with the device and reduces wear-and-tearof the device. By using less space on the screen, a smaller (and lessexpensive) screen can provide the same usability. For example, in FIG.5B, the device detects a touch 581A at the location of the image 531associated with the first media item. As another example, in FIG. 5D,the device detects a touch 581B at the location of the image 531associated with the first media item.

In some embodiments, the device detects (610) movement of a contact overthe image. The movement of the contact over the image can be, forexample, a drag or a swipe. For example, in FIG. 5J, the device detectsa horizontal leftward swipe 581E over the image 531 associated with thefirst media item. As another example, in FIG. 5Y, the device detects avertical upward swipe 581J over the image 533 associated with the thirdmedia item. As another example, in FIG. 5AH, the device detect avertical downward swipe 581M over the image 533 associated with thethird media item.

In some embodiments, the device detect (612) movement of a multi-touchcontact over the image. The movement of the multi-touch contact over theimage can be, for example, a multi-touch drag, a multi-touch swipe, apinch or zoom, or a rotation. For example, in FIG. 5R, the devicedetects a vertical downward multi-touch drag 581G over the image 533associated with the third media item. As another example, in FIG. 5T,the device detects a horizontal leftward multi-touch drag 581H over theimage 533 associated with the third media item.

In response to a first portion of the input, the device adjusts (616)the appearance of the image on the display in accordance with the firstportion of the input. By adjusting the appearance of the image on thedisplay, additional visual information is provided to the user regardingthe playback of media items. This visual information provides a moreefficient human-machine interface. As noted above, a more efficienthuman-machine user interface conserves power and increases the timebetween battery charges and reduces the amount of user interaction withthe device and reduces wear-and-tear of the device. In some embodiments,e.g., when the device detects movement of a contact over the image as inblock 610, the device moves (618) the image on the display in accordancewith the direction of the movement of the contact. For example, in FIG.5K, the device moves the image 531 associated with the first media itemto the left in accordance with a leftward swipe 581E. In someembodiments, the device starts to display (620) a second imageassociated with a second media item as the image is sliding off thedisplay. For example, in FIG. 5L, the device displays the image 532associated with the second media item as the image 531 associated withthe first media item is sliding off the display.

As another example of the device moving the image in accordance with thedirection of the movement of the contact, in FIG. 5Z, the device movesthe image 533 associated with the third media item upward in accordancewith an upward swipe 581J. In some embodiments, the device displays(622) related media items, related to the media item. In someembodiments, the device displays (624) media items in a queue to beplayed after the media item. For example, in FIG. 5AA, the devicedisplays the queue pane 543 including a queue representation 543A thatincludes a plurality of elements respectively associated with one ormore of the media items in the queue. In some embodiments, the devicedisplays (626) suggested media items selected based on the media item.For example, in FIG. 5AB, the device displays the suggestions pane 544including suggestion representations 544A displaying suggested mediaitems selected based on the third media item. In some embodiments, thedevice displays (628) a lyrics toggle affordance for displaying lyricsof the media item. For example, in FIG. 5AC, the device displays thelyrics toggle affordance 542A. In FIG. 5AD, the device toggles displayof the lyrics 642B of the third media item.

As noted above, in response to a first portion of the input, the deviceadjusts (616) the appearance of the image on the display in accordancewith the first portion of the input. In some embodiments, e.g., when thedevice detects a contact at a location of the image as in block 608, thedevice changes (630) a size of the image on the display. For example,from FIG. 5B to FIG. 5C, the device reduces the size of the image 531associated with the first media item. As another example, from FIG. 5Dto FIG. 5E, the device increases the size of the image 531 associatedwith the first media item. In some embodiments, the device toggles (632)display of a border around the image (or gradually changes a virtual zheight of the image and adjusts a depth effect such as a virtual shadowas the virtual z height of the image is changed). For example, from FIG.5B to FIG. 5C, the device ceases display of the border 531A around theimage 531 associated with the first media item. As another example, fromFIG. 5D to FIG. 5E, the device resumes displaying the borer 531A aroundthe image 531 associated with the first media item.

In some embodiments, e.g., when the device detects movement of amulti-touch contact over the image as in block 612, the device changes(634) a shape of the image on the display (or applies a virtual tiltingeffect tilting the image around an axis that is parallel to the display,so that a portion of the image is higher in a virtual z direction and aportion of the image is lower in the virtual z direction when the imageis tilted). In some embodiments, the device skews (636) the image on thedisplay. For example, from FIG. 5R to FIG. 5S, the device skews theimage 533 associated with the third media item such that it appears totilt downward. As another example, from FIG. 5T to FIG. 5V, the deviceskews the image 533 associated with the third media item such that itappears to tilt rightward. In some embodiments, a magnitude of thechange in the shape of the image is (638) proportional to a magnitude ofthe movement of the multi-touch contact. For example, in FIG. 5V, themagnitude of the movement of the multi-touch drag 581H is greater thanthe movement of the multi-touch drag 581H in FIG. 5U. Thus, themagnitude of the change in the shape of the image 533 associated withthe third media item is greater in FIG. 5V than in FIG. 5U.

In response to a second portion of the input, the device changes (640)playback of media items on the device in accordance with a secondportion of the input. Thus, the image provides information to a userregarding a media item that is being played back and also acts as anaffordance for changing the playback of the media item. This uses thespace on the screen more efficiently, resulting in a more efficienthuman-machine interface (as a user need not manipulate the userinterface to find affordances for performing the functions ofinteracting with the image). As noted above, a more efficienthuman-machine user interface conserves power and increases the timebetween battery charges and reduces the amount of user interaction withthe device and reduces wear-and-tear of the device. In some embodiments,e.g., when the device detects movement of a contact over the image as inblock 610, the device starts playback (642) of a second media item. Forexample, in FIG. 5M, the device starts playback of the second mediaitem, identifying by the identifying text 512 for the second media itemand associated with the image 532 associated with the second media item.In some embodiments, in accordance with a determination that movement ofthe contact is in a first direction, the device selects (644) a priormedia item in a queue as the second media item and, in accordance with adetermination that the movement of the contact is in a second direction,the device selects a next media item in a queue as the second mediaitem. For example, in FIG. 5M, the device starts playback of the secondmedia item in accordance with a determination that the swipe 581E is tothe left. In some embodiments, the device starts playback of the secondmedia item by crossfading (646) between the media item and the secondmedia item.

In some embodiments, e.g., when the device detects a contact at thelocation of the image as in block 608, the device pauses (648) orresumes (650) playback of the media item. For example, from FIG. 5B toFIG. 5C, the device pauses playback of the first media item (asindicated by the change in the pause-play affordance 521). As anotherexample, from FIG. 5D to FIG. 5E, the device resumes playback of thefirst media item (as indicated by the change in the pause-playaffordance 521).

In some embodiments, e.g., when the device detects movement of amulti-touch contact over the image as in block 612, the device changes(652) a non-binary characteristic of the playback of the media item. Forexample, from FIG. 5R to 5S, the device changes (decreases) the volumeof the playback of the media item, as indicated by the volume affordance524 moving from its original location 524A. As another example, fromFIG. 5T to 5V, the device changes (increases) the playback time of theplayback of the third media item, as indicated by the scrubbingaffordance 525 moving from its original location.

In some embodiments, in accordance with a determination that themovement of the multi-touch contact is along a first axis, the devicechanges (654) a first non-binary playback characteristic and, inaccordance with a determination that the movement of the multi-touchcontact is along a second axis, the device changes a second non-binaryplayback characteristic. Thus a user can change either a firstnon-binary playback characteristic or a second non-binary characteristicby interacting with a single affordance. A single affordance that canperform multiple functions uses the space on the screen moreefficiently, conversing power and increasing the time between batterycharges, reducing the amount of user interaction with the device andcorresponding wear-and-tear of the device, and providing the sameusability with a smaller (and less expensive) screen. For example, inFIG. 5S, in accordance with a determination that the multi-touch drag581G is along a vertical axis, the device changes the volume of theplayback of the third media item and, in FIG. 5U, in accordance with adetermination that the multi-touch drag 581H is along a horizontal axis,the device changes the playback time of the playback of the third mediaitem.

In some embodiments, a magnitude of the change of the non-binaryplayback characteristic is (656) proportional to a magnitude of themovement of the multi-touch contact. For example, in FIG. 5V, themagnitude of the movement of the multi-touch drag 581H is greater thanthe movement of the multi-touch drag 581H in FIG. 5U. Thus, themagnitude of the change in the playback time of the playback of thethird media item is greater in FIG. 5V than in FIG. 5U.

In some embodiments, the device displays (658), on the display, apause-play affordance. For example, in FIG. 5E, the device display apause-play affordance 521 in a pause state. As another example, in FIG.5G, the device displays a pause-play affordance 521 in a play state. Asanother example, in FIG. 5AK, the device display a miniplayer userinterface 550 including a pause-play affordance 521A. In someembodiments, the device detects (660) a pause-play input interactingwith the pause-play affordance. For example, in FIG. 5F, the devicedetects a touch 581C at a location of the pause-play affordance 521while the pause-play affordance 521 is in a pause state. As anotherexample, in FIG. 5H, the device detects a touch 581D at a location ofthe pause-play affordance 521 while the pause-play affordance 521 in aplay state. In some embodiments, in response to a first portion of thepause-play input, the device changes (662) a size of the image on thedisplay. For example, from FIG. 5F to FIG. 5G, the device reduces thesize of the image 531 associated with the first media item. As anotherexample, from FIG. 5H to FIG. 5I, the device increases the size of theimage 531 associated with the first media item. In some embodiments, inresponse to a second portion of the pause-play input, the deviceswitches (664) between pausing and playback of the media item. Forexample, from FIG. 5F to FIG. 5G, the device switches from playing backto pausing the first media item, as indicated by the play-pauseaffordance 521 switching from a pause state to a play state. As anotherexample, from FIG. 5H to FIG. 5I, the device switches from pausing toplaying back the first media item, as indicated by the play-pauseaffordance 521 switched from a play state to a pause state.

In some embodiments, the device displays (666), on the display, one ormore skip affordances. For example, in FIG. 5M, the device displays areverse affordance 522 and a forward affordance 523. In someembodiments, the device detects (668) a skip input interacting with oneof the one or more skip affordances. For example, in FIG. 5N, the devicedetects a touch 581F at a location of the forward affordance 523. Insome embodiments, in response to a first portion of the skip input, thedevice moves (670) the image on the display in accordance with one ofthe one or more skip affordances. By adjusting the location of the imageon the display, additional visual information is provided to the userregarding the playback of media items. Further, this movement of imageon the display provides an indication to the user that the image itselfcan be manipulated to achieve a similar effect and increases thelikelihood that the user will manipulate the user interface in anefficient manner, conserving power and increases the time betweenbattery charges and reducing wear-and-tear of the device. For example,in FIG. 5O and FIG. 5P, the device moves the image 532 associated withthe second media item to the left in accordance with detection of thetouch 581F at the location of the forward affordance 523. As anotherexample, the device can move the image 532 associated with the secondmedia item to the right in accordance with detection of a touch at thelocation of the reverse affordance 522. In some embodiments, in responseto a second portion of the skip input, the device starts playback (672)of a second media item in accordance with the one of the one or moreskip affordances. For example, in FIG. 5Q, the device starts playback ofthe third media item, as indicated by the identifying text 513 for thethird media item, in accordance with detection of the touch 581F at thelocation of the forward affordance 523. As another example, the devicecan start playback of the first media item in accordance with detectionof a touch at the location of the reverse affordance 522.

In some embodiments, the device displays (674), on the display, ascrubbing affordance. For example, in FIG. 5W, the device displays thescrubbing affordance 525. In some embodiments, the device detects (676)a scrubbing input interacting with the scrubbing affordance 525. Forexample, in FIG. 5W, the device detects a drag 581I beginning at alocation of the scrubbing affordance 525. In some embodiments, inresponse to a first portion of the skip input, the device reduces (678)a size of the image on the display. For example, in from FIG. 5W to FIG.5X, the device reduces the size of the image 533 associated with thethird media item. In some embodiments, the device changes (680) displayof the scrubbing affordance to a waveform indicative of the magnitude ofthe audio of the media item at various playback times. For example, fromFIG. 5W to FIG. 5X, the device changes display of the scrubbingaffordance 525 to include a scrubbing waveform 525B indicative of themagnitude of the audio of the third media item at various playbacktimes. In some embodiments, the device displays (682) scrubbing speedinformation in a display area previous occupied by the image. Forexample, in FIG. 5X, the device displays scrubbing speed information525C in a display area previously occupied (e.g., in FIG. 5W) by theimage 533 associated with the third media item. In some embodiments, inresponse to a second portion of the scrubbing input, the device changes(684) a playback time of the playback of the media item.

In some embodiments, e.g., when the device detects movement of a contactover the image as in block 610, in accordance with a determination thatthe movement of the contact over the image is in a first direction, thedevice displays (686) a miniplayer user interface, the miniplayer userinterface including a reduced-sized version of the image and, inaccordance with a determination that movement of the contact over theimage is in a second direction, the device displays related media items.For example, in FIG. 5AI, in accordance with a determination that theswipe 581M is in a downward direction, the device displays theminiplayer user interface 550. The miniplayer user interface 550includes a reduced-size version of the image 533B associated with thethird media item. And, in FIG. 5Z, in accordance with a determinationthat the swipe 581J is in an upward direction, the device displaysrelated media items (e.g., media items in a queue in FIG. 5AA orsuggested media items in FIG. 5AB).

In some embodiments, e.g., when the device detects movement of a contactover the image as in block 610, in accordance with a determination thatmovement of the contact over the image is along a first axis, the devicedisplays (688) a miniplayer user interface, the miniplayer userinterface including a reduced-sized version of the image and, inaccordance with a determination that movement of the contact over theimage is along a second axis, the device starts playback of a secondmedia item. For example, in FIG. 5AI, in accordance with a determinationthat the swipe 581M is in along a vertical axis, the device displays theminiplayer user interface 550. The miniplayer user interface 550includes a reduced-size version of the image 533B associated with thethird media item. And, in FIG. 5L, in accordance with a determinationthat the swipe 581E is along a horizontal axis, the device startsplayback of the second media item (as indicated in FIG. 5L includingidentifying text 512 for the second media item).

In some embodiments, the device detects (690) a miniplayer inputinteracting with the miniplayer user interface. For example, in FIG.5AL, the device detects a touch 581N at a location of the miniplayeruser interface 550. In some embodiments, the device displays (692) afull-sized version of the image in response to detecting the miniplayerinput. For example, in FIG. 5AP, the device displays the image 533associated with the third media item. In some embodiments, the devicedisplays (694) an animation temporarily including a lyrics toggleaffordance in response to detecting the miniplayer input. For example,FIGS. 5AL-5AP illustrate an animation temporarily including a lyricstoggle affordance 542A (in FIG. 5AO).

It should be understood that the particular order in which theoperations in FIGS. 6A-6AE have been described is merely example and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 700, 800, and 900) are also applicable in an analogous manner tomethod 600 described above with respect to FIGS. 6A-6E. For example, theinputs, affordances, and user interface responses described above withreference to method 600 optionally have one or more of thecharacteristics of the media items, playback controls, and userinterfaces described herein with reference to other methods describedherein (e.g., methods 700, 800, and 900). For brevity, these details arenot repeated here.

FIGS. 7A-7B illustrate a flow diagram of a method 700 of queuing a mediaitem in accordance with some embodiments. The method 700 is performed atan electronic device (e.g., the portable multifunction device 100 inFIG. 1A, or the device 300 in FIG. 3) with a display, a touch-sensitivesurface, and one or more sensors to detect intensity of contacts withthe touch-sensitive surface. In some embodiments, the display is atouch-screen display and the touch-sensitive surface is on or integratedwith the display. In some embodiments, the display is separate from thetouch-sensitive surface. Some operations in method 700 are, optionally,combined and/or the order of some operations is, optionally, changed.

As described below, the method 700 provides an intuitive way to queue amedia item. The method reduces the cognitive burden on a user whenqueuing a media item, thereby creating a more efficient human-machineinterface. For battery-operated electronic devices, enabling a user toqueue a media item faster and more efficiently conserves power andincreases the time between battery charges.

While playing a first media item in a queue of media items, the devicedetects (702) a request to add a second media item to the queue. Forexample, in FIG. 5AS, the device detects a touch 581A at the location ofa queueing affordance 561A. As another example, in FIG. 5BC, the devicedetects a touch 581T at the location of the queuing affordance 561A.

In accordance with a determination that the first media item meetsgroup-sensitive queueing criteria, wherein the group-sensitive queuingcriteria include a criterion that is met when the first media item ispart of a predefined group of media items in the queue, the deviceprovides (704) an option to add the second media item to the queue afterthe media items in the predefined group that are in the queue after thefirst media item. Thus, a user can add a media item to a queue after analbum or playlist has completed without returning to interact with thedevice once the album or playlist has finished (or is on the finalitem), reducing user interaction with the device, which conserves powerand increasing the time between battery charges and reduceswear-and-tear of the device. For example, in FIG. 5AT, the devicedisplays a play after affordance 562B. In FIG. 5AZ, the device detects atouch 581R at a location of the play after affordance 5622. In FIG. 5BA,the device displays a queue representation 543A indicating that theselected media item is added to the queue after the rest of the mediaitems in the playlist.

In some embodiments, in accordance with a determination that the firstmedia item meets the group-sensitive queueing criteria, the deviceprovides (706) an option to add the second media item to the queue afterthe first media item and before the media items in the predefined groupthat are in the queue after the first media item. For example, in FIG.5AT, the device displays a play next affordance 562A. In FIG. 5AW, thedevice detects a touch 581Q at a location of the play next affordance562A. In FIG. 5AX, the device displays a queue representation 543Aindicating that the selected media item is added to the queue after thefirst media item and before the rest of the media items in the playlist.

In accordance with a determination that the first media item does notmeet the group-sensitive queueing criteria, the device provides (708) anoption to add the second media item to the queue after the first mediaitem (and before the other media items in the queue). For example, inFIG. 5AU, the device displays a play next affordance 562A.

In some embodiments, in accordance with the determination that the firstmedia item does not meet the group-sensitive queueing criteria, thedevice hides (710) an option to add the second media item to the queueafter the media items that are in the queue. For example, in FIG. 5AU,the device does not display a play after affordance 562B (as shown in,for example, FIG. 5AT).

In some embodiments, in accordance with the determination that the firstmedia item does not meet the group-sensitive queueing criteria, thedevice provides (712) an option to add the second media item to thequeue after a first plurality of media items that are in the queue andbefore a second plurality of media items that are in the queue. Thus,even when a playlist is large, a user can add a media item to a queueafter a significant amount of time has passed without returning tointeract with the device, reducing user interaction with the device,which conserves power and increasing the time between battery chargesand reduces wear-and-tear of the device. For example, in FIG. 5AV, thedevice displays a play later affordance 562C which adds the selectedmedia item to the queue after a set number of media items (e.g., 5 mediaitems or, in some embodiments, 20 songs), and before other media itemsin the queue.

In some embodiments, the device displays (714) a list including aplurality of elements respectively associated with one or more of themedia items in the queue. For example, in FIG. 5AX, the device displaysa queue representation 543A with each element associated with one of themedia items in the queue. As another example, in FIG. 5AY, the devicedisplays the queue representation with one element associated withmultiple media items in the queue (e.g., the rest of the playlist).

In some embodiments, each of the plurality of elements includes (716) anicon and identifying text respectively associated with the one or moreof the media items in the queue. For example, in FIG. 5AX, the devicedisplays a queue representation 543A with a plurality of elementsincluding a mini-image and identifying text indicative of respectivemedia items.

In some embodiments, the plurality of elements includes (718) a firstelement associated with all of the other media items in the predefinedgroup that are in the queue after the first media item and a secondelement associated with the second media item. For example, in FIG. 5AY,the device displays a queue representation 543A with a first elementassociated with the rest of the playlist and a second element (above thefirst element) associated with the media item just added to the queue.

In some embodiments, the plurality of elements includes (720) a firstset of elements associated with all of the other media items in thepredefined group that are in the queue after the first media item and asecond set of elements associated with the second media item, whereinthe first set of elements and the second set of elements are visuallyseparated on the display. For example, in FIG. 5AY, the device displaysa queue representation 543A with a first element associated with therest of the playlist (e.g., a set of one element associated with all ofthe other media items in the predefined group that are in the queueafter the first media item) and a second element associated with themedia item just added to the queue (e.g., a set of one elementassociated with the second media item). In FIG. 5AY, the device displaysa banner 543B visually separating the first set of elements and thesecond set of elements.

In some embodiments, the device displays (722) the list in response toan input interacting with an image associated with the first media item.For example, in FIG. 5Y, the device detects a swipe 581J over the image533 associated with the third media item. In response, in FIG. 5AB, thedevice displays a queue representation 543A.

In some embodiments, the device detects (724) an ordering input draggingone of the plurality of elements and changes an order of the media itemsin the queue in accordance with the ordering input. For example, in FIG.5BK, the device detects a drag 581X and, in FIG. 5BL, displays a queuerepresentation 543A in which the final media item of the queue has beenmoved to the top of the queue. As another example, in FIG. 5BM, thedevice detects a drag 581X and, in FIG. 5BN, displays a queuerepresentation in which the rest of the playlist is moved to the middleof the queue.

In some embodiments, the device detects (726) a removing input swipingone of the plurality of elements and removes one or more of the mediaitems in the queue in accordance with the removing input. For example,in FIG. 5BO, the device detects a swipe 581Z and, in FIG. 5BQ, displaysa queue representation 543A in which a media item associated with theswipe 581Z has been removed from the queue.

In some embodiments, the device disables (728) a non-linear playbackfunction in response to the second media item being added to the queue.Thus, a user need not manually disable any active non-linear playbackfunctions, reducing interaction with the device, thereby conservingpower and increasing the time between battery charges and reducingwear-and-tear of the device. For example, in FIG. 5BB, the repeataffordance 551 indicates that the repeat setting is set to an offsetting and the shuffle affordance 552 indicates that the shufflesetting is set to an off setting. In some embodiments, the deviceenables (730) the non-linear playback function in response to theplaying the second media item. For example, in FIG. 5BR, the repeataffordance 551 indicates that the repeat setting is set to an on settingand the shuffle affordance 552 indicates that the shuffle setting is setto an on setting.

It should be understood that the particular order in which theoperations in FIGS. 7A-7B have been described is merely example and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 700, 900, and 1000) are also applicable in an analogous mannerto method 700 described above with respect to FIGS. 7A-7B. For example,the inputs, affordances, and user interface responses described abovewith reference to method 700 optionally have one or more of thecharacteristics of the media items, playback controls, and userinterfaces described herein with reference to other methods describedherein (e.g., methods 700, 900, and 1000). For brevity, these detailsare not repeated here.

FIGS. 8A-8D illustrate a flow diagram of a method 800 of managingstorage of media items in accordance with some embodiments. The method800 is performed at an electronic device (e.g., the portablemultifunction device 100 in FIG. 1A, or the device 300 in FIG. 3) with adisplay, a touch-sensitive surface, and one or more sensors to detectintensity of contacts with the touch-sensitive surface. In someembodiments, the display is a touch-screen display and thetouch-sensitive surface is on or integrated with the display. In someembodiments, the display is separate from the touch-sensitive surface.Some operations in method 800 are, optionally, combined and/or the orderof some operations is, optionally, changed.

As described below, the method 800 provides an intuitive way to managingstorage of media items. The method reduces the cognitive burden on auser when managing storage of media items, thereby creating a moreefficient human-machine interface. For battery-operated electronicdevices, enabling a user to manage storage of media items faster andmore efficiently conserves power and increases the time between batterycharges.

While a plurality of media items are stored on the device, the devicedetects (802) the occurrence of a condition that corresponds to arequest to free storage on the device, wherein the plurality of mediaitems uses a first amount of storage on the device and a minimum amountof storage on the device has been reserved for media items. Thus, a usercan reduce the amount of storage of the device used by media items whileretaining at least a threshold amount of media items on the device. Withless data stored on the storage device, memory reads are faster and morestorage is available for use as virtual processor cache, speeding upother operations. Further, by storing less data at the storage location,fewer or smaller (and less expensive) storage devices of the device(e.g., within the device, coupled to the device, or at a cloud storagefacility) are needed by the user. In some embodiments, the devicedetects the occurrence of the condition when the device receives (804) arequest to store an additional one or more media items on the device,wherein the additional one or more media items would user a secondamount of storage on the device, and the device determines that thesecond amount of storage is greater than an available amount of storageon the device. For example, in FIG. 5BT, the device detects a touch 582Cat a location of a download affordance 571B for downloading an album anddetermines that the amount of available storage is less than the size ofthe album, as shown by the insufficient storage window 564 in FIG. 5BW.In some embodiments, the device detects the occurrence of the conditionwhen the device detects (806) an input interacting with a displayedincrease free space affordance. For example, in FIG. 5BW, the devicedetects a touch 582J at a location of an optimize storage affordance564A.

In accordance with a determination that the first amount of storage onthe device is greater than the minimum amount of storage on the devicethat has been reserved for media items, the device deletes (808) one ormore of the plurality of media items. For example, in FIG. 5CB, thedevice displays a media deletion warning 575C indicating that files maybe deleted. Accordingly, a user is warned that media items may bedeleted before they are removed from the device, reducing the likelihoodthat a user would need to add media items back the device withadditional interaction with the device. Reducing interaction with thedevice conserves and increases the time between battery charges andreduces wear-and-tear of the device.

In accordance with a determination that the first amount of storage onthe device is less than the minimum amount of storage on the device thathas been reserved for media items, the device forgoes deleting (810) oneor more of the plurality of media items.

In some embodiments, the device displays (812), on the display, anoptimize storage affordance. For example, in FIG. 5BW, the devicedisplays the optimize storage affordance 564A. As another example, inFIG. 5BY, the device displays an optimize storage feature toggle 576A.In some embodiments, the device detects (814) an input interacting withan optimization affordance displayed in a settings menu. For example, inFIG. 5BY, the device detects a touch 582F at a location of the optimizestorage feature toggle 576A. In some embodiments, the device detects(816) an input interacting with an optimization affordance displayed ina storage full notification. For example, in FIG. 5BW, the devicedetects a touch 582J at a location of the optimize storage affordance564A.

In some embodiments, in response to detecting an input interacting withthe optimize storage affordance, the device displays (818), on thedisplay, a plurality of minimum media storage option affordancescorresponding to a plurality of minimum media storage values. Forexample, in FIG. 5BZ, the device displays a plurality of media storagereservation size affordances 576C. In some embodiments, the plurality ofminimum media storage values are (820) based on a total amount ofstorage on the device. Accordingly, a user is provided with options thatare based the storage device reducing interaction with the device,thereby conserving power and increasing the time between battery chargesand reducing wear-and-tear of the device. For example, in FIG. 5BZ, theplurality of media storage reservation size affordances 576C areassociated with no minimum, 1 GB, 2 GB, and 4 GB based on a total amountof storage on the device of 32 GB.

In some embodiments, in response to an input interacting with aparticular one of the minimum media storage option affordancescorresponding to a particular one of the minimum media storage values,the device sets (822) the minimum amount of storage on the device thathas been reserved for media items to the particular one of the minimummedia storage values. For example, in FIG. 5BZ, the device detects atouch 582G at a location of a media storage reservation size affordance576C associated with 2 GB and sets the minimum amount of storage on thedevice that has been reserved for media items to 2 GB, as indicated inFIG. 5CA.

In some embodiments, the device determines (824) that the minimum amountof storage on the device that has been reserved for media items is lessthan a current amount of storage on the device used by media files and,in response, displays (826), on the display, a notification indicatingthe current amount of storage on the device used by media files. Forexample, in FIG. 5CB, the device displays a media deletion warning 575Cindicating the current amount of storage on the device used by mediafiles (e.g., 6.4 GB) and that the minimum amount of storage on thedevice that has been reserved for media items is less than that amount.

In some embodiments, the device determines (828) that the minimum amountof storage on the device that has been reserved for media items isgreater than a current amount of storage on the device used by mediafiles and, in response, forgoes displaying (830), on the display, anotification indicating the current amount of storage on the device usedby media files.

In some embodiments, the device displays (832), on the display, a manualstorage management affordance. For example, in FIG. 5CD, the devicedisplays a manual storage management affordance 564B in an insufficientstorage window 564.

In some embodiments, in response to an input interacting with the manualstorage management affordance, the device displays (834), on thedisplay, a manual storage management user interface including a list ofmedia item data regarding a plurality of media items and a deleteaffordance for deleting one or more of the plurality of media items.Thus, a user can quickly delete media items, increasing the amount offree storage at the storage location. With less data stored on thestorage device, memory reads are faster and more storage is availablefor use as virtual processor cache, speeding up other operations.Further, by storing less data at the storage location, fewer or smaller(and less expensive) storage devices of the device (e.g., within thedevice, coupled to the device, or at a cloud storage facility) areneeded by the user. For example, in FIG. 5CD, the device detects a touch582J at a location of the manual storage management affordance 564B. InFIG. 5CE, the device displays a manual storage management user interface577 including a list of media items 577F and a delete selectedaffordance 577A.

In some embodiments, a set of the plurality of media items correspondingto an album are (836) listed together. For example, in FIG. 5CE, thelist of media items 577F includes three sets of media itemscorresponding to three albums listed in three groupings.

In some embodiments, the plurality of media items are prioritizedaccording to size of the media items and/or listening history. Thus, auser can quickly identify non-prioritized media items that user a largeamount of storage and delete them, increasing the amount of free storageof the device. For example, in FIG. 5CE, the media items may be filteredto include only media items that are being proposed for deletion in thelist of media items 577F or the list of media items 577F an ordered listof items that includes all media items, with the proposed media itemsfor deletion sorted to the top.

In some embodiments, the manual storage management user interfaceincludes a selection affordance for selecting or deselecting one or moreof the plurality of media items. For example, in FIG. 5CE, the manualstorage management user interface 577 includes a plurality of selectionaffordances 577E for selecting and deselecting individual media items.As another example, in FIG. 5CE, the manual storage management userinterface 577 includes a deselect all affordance 577B for deselectingthe selected media items. In some embodiments, the deselect allaffordance 577B is replaced with a select all affordance when no mediaitems are selected.

In some embodiments, in response to an input interacting with an addaffordance for adding one or more media items to a library, the devicedisplays (844), on the display, an auto-add affordance for storing mediaitems in the library on the device. For example, in FIG. 5BR, the devicedetects a touch 582A at a location of an add affordance 571A. Inresponse, in FIG. 5BS, the device displays an auto-add window 563including an activate affordance 563A for activating the auto-addfeature. In some embodiments, the one or more media items are (846)displayed with a location region, the location region including the addaffordance when the media items are not in the library, the locationregion including a download affordance when the media items are in thelibrary but not stored on the device, and the location region beingempty when the media items are stored on the device. For example, inFIG. 5BR, the device displays a location region including the addaffordance 571A. In FIG. 5BT, the device displays a download affordance571B in the location region, and in FIG. 5BV, the track downloadindicators 547E are absent for downloaded tracks. In variousimplementations, when the album is completed downloading, the downloadindicator affordance 571C is replaced by a whitespace.

In some embodiments, the device displays (848), on the display, a listof playlist selection affordances for synching a set of media items withthe device, the list of playlist selection affordances including a smartplaylist selection affordance for synching an algorithmically selectedset of media items, a random playlist selection affordance for synchinga random set of media items with the user device, and a user playlistselection affordances for synching a user-selected set of media items.For example, in FIG. 5CF, the device displays a synched playlist userinterface 578 including a smart playlist selection affordance 578B, arandom playlist selection affordance 578C, and a user playlist selectionaffordance 578D in a group of such user playlist selection affordances.In some embodiments, the device detects (850) an input interacting withthe user playlist selection affordance. For example, in FIG. 5CF, thedevice detects a touch 582K at a location of the user playlist selectionaffordance 578D. In some embodiments, in accordance with a determinationthat a size of the user-selected set of media items is greater than anamount of available storage on the device, the device displays (852) anotification indicating that at least some of the user-selected set ofmedia items will not be stored on the device. For example, in FIG. 5CG,the device displays a large playlist window 565 indicating that only 350out of 500 songs will be synched. As another example, in FIG. 5CI, thedevice displays a synched playlist selection affordance 579A thatindicates that large playlist is selected for synching and that thelarge playlist is only partially synched.

It should be understood that the particular order in which theoperations in FIGS. 8A-8D have been described is merely example and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 600, 700, and 900) are also applicable in an analogous manner tomethod 800 described above with respect to FIGS. 8A-8D. For example, themedia items, playback controls, and user interfaces described above withreference to method 800 optionally have one or more of thecharacteristics of the inputs, affordances, and user interface responsesdescribed herein with reference to other methods described herein (e.g.,methods 600, 700, and 900). For brevity, these details are not repeatedhere.

FIGS. 9A-9E illustrate a flow diagram of a method 900 of updating aplaylist in accordance with some embodiments. The method 900 isperformed at an electronic device (e.g., the portable multifunctiondevice 100 in FIG. 1A, or the device 300 in FIG. 3) with a display, atouch-sensitive surface, and one or more sensors to detect intensity ofcontacts with the touch-sensitive surface. In some embodiments, thedisplay is a touch-screen display and the touch-sensitive surface is onor integrated with the display. In some embodiments, the display isseparate from the touch-sensitive surface. Some operations in method 900are, optionally, combined and/or the order of some operations is,optionally, changed.

As described below, the method 900 provides an intuitive way to update aplaylist. The method reduces the cognitive burden on a user whenupdating a playlist, thereby creating a more efficient human-machineinterface. For battery-operated electronic devices, enabling a user toupdate a playlist faster and more efficiently conserves power andincreases the time between battery charges.

The device displays (902), on the display, a representation of a firstautomatically-generated playlist, the representation of the firstautomatically-generated playlist including representations of a firstset of media items selected for inclusion in the firstautomatically-generated playlist based on first playlist generationcriteria for the first automatically-generated playlist. For example, inFIG. 5CK, the device displays a representation of the firstautomatically-generated playlist 593. The representation of the firstautomatically-generated playlist 593 includes representations of a firstset of media items 596 selected for including based on first playlistgeneration criteria. In the example of FIG. 5CK, the first set of mediaitems are selected based on an oldies theme, as indicated by theidentifying information 594.

In some embodiments, the device displays (904) a save affordance forsaving the first set of media items as a non-updated playlist. Forexample, in FIG. 5CK, displays a save affordance 595A. The devicedetects a touch 5280 at a location of the save affordance 595A and, inresponse, saves the first set of media items as a non-updated playlist,as indicated in FIG. 5CL by the inclusion of a saved affordance 591A inthe plurality of playlist affordances 591.

In some embodiments, the device displays (906) a share affordance forsharing the first set of media items with another device as a sharedplaylist. For example, in FIG. 5CR, the device displays a shareaffordance 595B. In FIG. 5CS, the device includes a shared affordance591B in the plurality of playlist affordances 591 indicating thatanother device has shared a playlist with the device. In someembodiments, in response to a first update criterion being met (asdescribed further below), the device updates (908) the first set ofmedia items of the shared playlist. In some embodiments, the device doesnot update the shared playlist and the playlist is a non-updatedplaylist.

While displaying the representation of the first automatically-generatedplaylist, the device detects (910) user interaction with therepresentations of the first set of media items. For example, in FIG.5CQ, the device detects a touch 582Q at a location of a representationof one of the first set of media items 596. In some embodiments, inresponse to detecting user interaction with a representation of one ofthe first set of media items, the device starts playback (912) of theone of the first set of media items. For example, in FIG. 5CQ, thedevice detects a touch 582Q at a location of a representation of one ofthe first set of media items 596 and, in response, begins playback ofthe media item, as illustrated in FIG. 5CR, by the display ofidentifying text 515A and the pause-play affordance 521A in the pausestate.

The device detects (914) that a first update criterion for the firstautomatically-generated playlist has been met. In some embodiments, thefirst update criterion specifies (916) that the first set of media itemsis to be updated on predefined day of the week. For example, in FIG.5CK, the identifying information 594 indicates that the playlist wasupdated last Thursday. In FIG. 5CQ, the identifying information 595indicates that the playlist was updated today (e.g., Thursday). Invarious implementations, the first update criterion is met for aplurality of users with similarly themed playlists. For example, allusers may have a “new releases” playlist updated every Monday.

The device updates (918) the first set of media items based on the firstplaylist generation criteria and the user interaction with therepresentations of the first set of media items by adding one or moreadded media items to the first set of media items, removing one or moreremoved media items from the first set of media items, and maintaining aplurality of maintained media items in the first set of media items.Thus, a user is periodically automatically presented with a new set ofmedia items for consumption, reducing interaction with the device as theuser searches for new media items. Reducing interaction with the deviceconserves power and increases the time between battery charges and,also, reduces wear-and-tear of the device. For example, from FIG. 5CK toFIG. 5CQ, a number of media items have been added, removed, andmaintained.

In some embodiments, the added media items are selected (920) based onuser-agnostic criteria and user-specific criteria. For example, theadded media items can be based on the theme (e.g., oldies), auser-agnostic criteria and user interaction with the playlist, auser-specific criteria. Thus, a user is periodically automaticallypresented with a new set of media items for consumption based on userpreferences, reducing interaction with the device as the user searchesfor new media items based on their preferences. As mentioned above,reducing interaction with the device conserves power and increases thetime between battery charges and, also, reduces wear-and-tear of thedevice.

In some embodiments, the removed media items are selected (922) based onuser-specific criteria. For example, the removed media items can bebased on user interaction with the playlist or an amount of a time themedia item has been maintained on the user playlist.

In some embodiments, the maintained media items include (924) a majorityof the first set of media items. For example, in FIG. 5CQ, of the ninedisplayed media items, six are maintained from the playlist in FIG. 5CK.

In some embodiments, a number of the added media items and a number ofremoved media items are selected (926) such that a size of the firstautomatically-generated playlist is maintained within a playlist sizerange. Maintaining the size of the playlist within a manageable sizerange increases the likelihood that a user will interact with theautomatically-generated playlist, reducing interaction with the deviceas the user need not alternatively search for new media items. Reducinginteraction with the device conserves power and increases the timebetween battery charges and, also, reduces wear-and-tear of the device.For example, in FIG. 5CQ, the identifying information 594 indicates thatthere are 80 songs on the playlist. In some embodiments, the playlistsize range is (928) a range of a number of media items. For example, therange may be between 75 and 85 songs. In some embodiments, the playlistsize range is (930) a range of duration time. For example, the range maybe between 3.5 and 4.5 hours.

The device displays (932), on the display, an updated representation ofthe first automatically-generated playlist that includes representationsof the updated first set of media items. For example, in FIG. 5CQ, thedevice displays representations of the updated set of media items 596.In some embodiments, the device displays (934), on the display, one ormore new media item indicators displayed in respective association withone or more representations of the added media items. In someembodiments, each new media item indicator includes (936) a dot or icondisplayed beside a respective representation of an added media item.Thus, a user can easily identify new media items for consumption,reducing interaction with the device as the user searches for new mediaitems. Reducing interaction with the device conserves power andincreases the time between battery charges and, also, reduceswear-and-tear of the device. For example, in FIG. 5CQ, the devicedisplays new media item indicators 596A as a dot beside representationsof added media items. In some embodiments, each new media item indicatoris (938) substantially similar to a new message indicator used toindicate new messages in a messaging application of the device. In someembodiments, in response an input interacting with one of therepresentations of the added media items, the device ceases display(940) of a corresponding one of the one or more new media itemindicators. For example, in response to detecting the touch 582Q at therepresentation of the fifth media item, the device ceases display, inFIG. 5CR, or the corresponding new media item indicator 596A.

In some embodiments, the device displays (942), on the display, a firstplaylist affordance for displaying the representation of the firstautomatically-generated playlist, the first playlist affordanceincluding a first plurality of images respectively associated with aplurality of the first set of media items. For example, in FIG. 5CJ, thedevice displays the first automatically-generated playlist affordance592A and, in response to detecting a touch 582N at the location of thefirst automatically-generated playlist affordance 592A, displays, asillustrated in FIG. 5CK, the representation of the firstautomatically-generated playlist 593. The first automatically-generatedplaylist affordance 592A (shown in FIG. 5CJ) includes a plurality ofimages respectively associated with a plurality of the first set ofmedia items (shown in FIG. 5CK).

In some embodiments, the device displays (944), on the display, anupdated first playlist affordance for displaying the updatedrepresentation of the first automatically-generated playlist, theupdated first playlist affordance including an updated first pluralityof images respectively associated with a plurality of the updated firstset of media items. Thus, a user is notified that a new set of mediaitems is available for consumption, reducing interaction with the deviceas the user searches for new media items. Reducing interaction with thedevice conserves power and increases the time between battery chargesand, also, reduces wear-and-tear of the device. For example, in FIG.5CP, the device displays the updated first automatically-generatedplaylist affordance 592A and, in response to detecting a touch 582P atthe location of the updated first automatically-generated playlistaffordance 592A, displays, as illustrated in FIG. 5CQ, the updatedrepresentation of the first automatically-generated playlist 593. Theupdated automatically-generated playlist affordance 592A (shown in FIG.5CP) includes an updated plurality of images respectively associatedwith a plurality of the updated first set of media items (shown in FIG.5CQ). In some embodiments, the device displays (946), on the display, anupdate animation in which one or more of the first plurality of imagesare replaced with one or more of the updated first plurality of images.For example, from FIGS. 5CL-5CP, an update animation is illustrated inwhich one or more of the first plurality of images are replaced with oneor more of the updated first plurality of images.

In some embodiments, the device displays (948), on the display, arepresentation of a second automatically-generated playlist, therepresentation of the second automatically-generated playlist includingrepresentations of a second set of media items selected for inclusion inthe second automatically-generated playlist based on second playlistgeneration criteria for the second automatically-generated playlist. Forexample, in FIG. 5CT, the device displays a secondautomatically-generated playlist affordance 592B for displaying arepresentation of a second automatically-generated playlist.

In some embodiments, the second playlist generation criteria is (950)different from the first playlist generation criteria. In someembodiments, the first playlist generation criterion is (952) a firsttheme selected from a theme set including new releases, older songs, oruser favorites and the second playlist generation criterion is selectedfrom the theme set. Thus, a user is notified that with a new set ofmedia items of a theme are available for consumption, reducinginteraction with the device as the user searches for new media items ofthe theme. Reducing interaction with the device conserves power andincreases the time between battery charges and, also, reduceswear-and-tear of the device. For example, in FIG. 5CS, the devicedisplays the first automatically-generated playlist affordance 592A witha designation of an oldies theme and, in FIG. 5CT, the device displaysthe second automatically-generated playlist affordance 592B with adesignation of a new releases theme. In some embodiments, the deviceprovides (954) an option to select the first playlist generationcriteria and the second playlist generation criteria (e.g., a settingfor a user to select the theme for one or more of the playlists).

In some embodiments, while displaying the representation of the secondautomatically-generated playlist, the device detects (956) userinteraction with the representations of the second set of media items.

In some embodiments, the device detects (958) that a second updatecriterion for the second automatically-generated playlist has been met.In some embodiments, the second update criterion is (960) different fromthe first update criterion. In some embodiments, the first updatecriterion specifies (962) that the first automatically-generatedplaylist is to be updated on a first day of the week and the secondupdate criterion specifies that the second playlist is to be updated ona second day of the week that is different from the first day of theweek. Thus, a user is presented with a new set of media items forconsumption meeting different themes on different days, increasing thelikelihood that a user will interact with the automatically selected newset of media items, reducing interaction with the device as the usersearches for new media items. Reducing interaction with the deviceconserves power and increases the time between battery charges and,also, reduces wear-and-tear of the device. For example, in FIG. 5CK, theidentifying information 594 indicates that the playlist was updated lastThursday. In FIG. 5CQ, the identifying information 595 indicates thatthe playlist was updated today (e.g., Thursday). The second playlist canbe updated on a different day of the week, e.g., Tuesday.

In some embodiments, the device updates (964) the second set of mediaitems based on the second playlist generation criteria and the userinteraction with the representations of the second set of media items.In some embodiments, a number of media items added to the second set ofmedia items is (966) different from a number of the added media itemsadded to the first set of media items. For example, whereas FIG. 5CQillustrates that the updated first set of media items includes threeadded media items (out of nine illustrated), an updated second set ofmedia items can include more than three (out of nine) added media items.

In some embodiments, the device displays (968), on the display, anupdated representation of the second automatically-generated playlist,the updated representation of the second automatically-generatedplaylist including representations of the updated second set of mediaitems.

In some embodiments, the first automatically-generated playlist is (970)one of seven automatically-generated playlists with seven differentplaylist generation criteria and seven different update criteriaspecifying that the respective automatically-generated playlist is to beupdated on a respective day of the week. For example, in FIG. 5CS, thedevice displays a first automatically-generated playlist affordance 562Aand partially displays a second automatically-generated playlistaffordance 562B. In FIG. 5CT, the device displays the secondautomatically-generated playlist affordance 562B and partially displaysa third automatically-generated playlist affordance 562C. In someembodiments, further scrolling reveals four additionalautomatically-generated playlist affordances.

It should be understood that the particular order in which theoperations in FIGS. 9A-9E have been described is merely example and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 600, 700, and 800) are also applicable in an analogous manner tomethod 900 described above with respect to FIGS. 9A-9E. For example, themedia items, playback controls, and user interfaces described above withreference to method 900 optionally have one or more of thecharacteristics of the inputs, affordances, and user interface responsesdescribed herein with reference to other methods described herein (e.g.,methods 60, 700, and 800). For brevity, these details are not repeatedhere.

In accordance with some embodiments, FIG. 10 shows a functional blockdiagram of an electronic device 1000 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software,firmware, or a combination thereof to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 10 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 10, an electronic device 1000 includes a display unit1002 configured to display a user interface, a touch-sensitive surfaceunit 1004 configured to receive contacts, an audio unit 1006 configuredto playback an audio portion of a media file, and a processing unit 1010coupled with the display unit 1002, the touch-sensitive surface unit1004, and the audio unit 1006. In some embodiments, the processing unit1010 includes: a display control unit 912, an input detecting unit 914,and a playback control unit 916.

The processing unit 1010 is configured to display (e.g., with thedisplay control unit 1012), on the display unit 1002, a playback statusindicator regarding playback of a media item. In some embodiments, theprocessing unit 1010 is configured to playback (e.g., with the playbackcontrol unit 1016), using the audio unit 1006, the media item.

The processing unit 1010 is configured to display (e.g., with thedisplay control unit 1012), on the display unit 1002, an imageassociated with the media item.

The processing unit 1010 is configured to detect (e.g., with the inputdetecting unit 1014) an input interacting with the image. In someembodiments, the processing unit 1010 is configured to detect (e.g.,with the input detecting unit 1014) a contact at the location of theimage. In some embodiments, the processing unit 1010 is configured todetect (e.g., with the input detecting unit 1014) a movement of acontact over the image. In some embodiments, the processing unit 1010 isconfigured to detect (e.g., with the input detecting unit 1014),movement of a multi-touch contact over the image.

The processing unit 1010 is configured to, in response to a firstportion of the input, adjust (e.g., with the display control unit 1012)the appearance of the image on the display unit 1002 in accordance witha first portion of the input. In some embodiments, such as embodimentsin which the processing unit 1010 detects movement of a contact over theimage, the processing unit 1010 is configured to move (e.g., with thedisplay control unit 1012) the image on the display unit 1002 inaccordance with a direction of the movement of the contact. In someembodiments, the processing unit 1010 is configured to start to display(e.g., with the display control unit 1012) a second image associatedwith a second media item as the image is sliding off of the display unit1002. In some embodiments, the processing unit 1010 is configured todisplay (e.g., with the display control unit 1012) related media items.In some embodiments, the processing device 1010 is configured to display(e.g., with the display control unit 1012) media items in a queue to beplayed after the media item. In some embodiments, the processing device1010 is configured to display (e.g., with the display control unit 1012)suggested media items selected based on the media item. In someembodiments, the processing device 1010 is configured to display (e.g.,with the display control unit 1012) a lyrics toggle affordance fortoggling display of lyrics of the media item.

In some embodiments, such as embodiments in which the processing unit1010 detects a contact at a location of the image, the processing device1010 is configured to change (e.g., with the display control unit 1012)a size of the image on the display unit 1002. In some embodiments, theprocessing device 1010 is configured to toggle display (e.g., with thedisplay control unit 1012) of a border around the image.

In some embodiments, such as embodiments in which the processing unit1010 detects movement of a multi-touch contact over the image, theprocessing device 1010 is configured to change (e.g., with the displaycontrol unit 1012) a shape of the image on the display unit 1002. Insome embodiments, the processing device 1010 is configured to skew(e.g., with the display control unit 1012) the image. In someembodiments, a magnitude of the change in the shape of the image isproportional to a magnitude of the movement of the multi-touch contact.

The processing device 1010 is configured to, in response to a secondportion of the input, change playback (e.g., with the playback controlunit 1016) of media items on the device in accordance with the secondportion of the input. In some embodiments, such as embodiments in whichthe processing device 1010 detects movement of a contact over the image,the processing device 1010 is configured to start playback (e.g., withthe playback control unit 1016) of a second media item. In someembodiments, the processing device 1010 is configured to, in accordancewith a determination that movement of the contact is in a firstdirection, select (e.g., with the playback control unit 1016) a priormedia item in a queue as the second media item and, in accordance with adetermination that the movement of the contact is in a second direction,select (e.g., with the playback control unit 1016) a next media item ina queue as the second media item. In some embodiments, the processingdevice 1010 crossfades (e.g., with the playback control unit 1016)between the media item and the second media item.

In some embodiments, such as embodiments in which the processing device1010 detects a contact at a location of the image, the processing device1010 is configured to pause playback (e.g., with the playback controlunit 1016) of the media item. In some embodiments, the processing device1010 is configured to resume playback (e.g., with the playback controlunit 1016) of the media item.

In some embodiments, such as embodiments in which the processing unit1010 1010 detects movement of a multi-touch contact over the image, theprocessing device 1010 is configured to change (e.g., with the playbackcontrol unit 1016) a non-binary characteristic of the playback of themedia item. In some embodiments, in accordance with a determination thatmovement of the multi-touch contact is along a first axis, theprocessing device 1010 is configured to change (e.g., with the playbackcontrol unit 1016) a first non-binary playback characteristic and, inaccordance with a determination that the movement of the multi-touchcontact is along a second axis, change (e.g., with the playback controlunit 1016) a second non-binary characteristic of the media item. In someembodiments, a magnitude of the change of the non-binary playbackcharacteristic is proportional to a magnitude of the movement of themulti-touch contact.

In some embodiments, the processing device 1010 is configured to display(e.g., with the display control unit 1012), on the display unit 1002, apause-play affordance. In some embodiments, the processing device 1010is configured to detect (e.g., with the input detecting unit 1014) apause-play input interacting with the pause-play affordance. In someembodiments, the processing unit 1010 is configured to, in response to afirst portion of the pause-play input, change (e.g., with the displaycontrol unit) a size of the image on the display unit 1002. In someembodiments, the processing unit 1010 is configured to, in response to asecond portion of the pause-play input, switch (e.g., with the playbackcontrol unit 1016) between pausing and playback of the media item.

In some embodiments, the processing device 1010 is configured to display(e.g., with the display control unit 1012), on the display unit 1002,one or more skip affordances. In some embodiments, the processing device1010 is configured to detect (e.g., with the input detecting unit 1014)a skip input interacting with one of the one or more skip affordances.In some embodiments, the processing unit 1010 is configured to, inresponse to a first portion of the skip input, move (e.g., with thedisplay control unit 1012) the image on the display unit 1002 inaccordance with the one of the one or more skip affordances. In someembodiments, the processing device 1010 is configured to, in response toa second portion of the skip input, start playback (e.g., with theplayback control unit 1016) of a second media item in accordance withthe one of the one or more skip affordances.

In some embodiments, the processing device 1010 is configured to display(e.g., with the display control unit 1012), on the display unit 1002, ascrubbing affordance. In some embodiments, the processing device 1010 isconfigured to detect (e.g., with the input detecting unit 1014) ascrubbing input interacting with the scrubbing affordance. In someembodiments, the processing device 1010 is configure to, in response toa first portion of the skip input, reduce (e.g., with the displaycontrol unit 1012) a size of the image on the display unit 1002. In someembodiments, the processing device 1010 is configured to change display(e.g., with the display control unit 1012) of the scrubbing affordanceto a waveform indicative of the magnitude of the audio of the media itemat various playback times. In some embodiments, the processing device1010 is configured to display (e.g., with the display control unit 1012)scrubbing speed information in a display area previously occupied by theimage. In some embodiments, the processing device 1010 is configured to,in response to a second portion of the scrubbing input, change (e.g.,with the playback control unit 1016) a playback time of the playback ofthe media item.

In some embodiments, such as embodiments in which the processing device1010 detects movement of a contact over the image, the processing device1010 is configured to, in accordance with a determination that movementof the contact over the image is in a first direction, display (e.g.,with the display control unit 1012) a miniplayer user interface, theminiplayer user interface including a reduced-sized version of the imageand, in accordance with a determination that movement of the contactover the image is in a second direction, display (e.g., with the displaycontrol unit 10120) related media items.

In some embodiments, such as embodiments in which the processing device1010 detects movement of a contact over the image, the processing device1010 is configured to, in accordance with a determination that movementof the contact over the image is along a first axis, display (e.g., withthe display control unit 1012) a miniplayer user interface, theminiplayer user interface including a reduced-sized version of the imageand, in accordance with a determination that movement of the contactover the image is along a second axis, start playback (e.g., with theplayback control unit 1016) of a second media item.

In some embodiments, the processing device 1010 is configured to detect(e.g., with the input detecting unit 1014) a miniplayer user inputinteracting with the miniplayer user interface. In some embodiments, theprocessing device 1010 is configured to display (e.g., with the displaycontrol unit 1012) a full-size version of the image. In someembodiments, the processing unit 1010 is configured to display (e.g.,with the display control unit 1012) an animation temporarily including alyrics toggle affordance.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 10) orapplication specific chips.

The operations described above with reference to FIGS. 6A-6E are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.10. For example, displaying operation 602, displaying operation 604,detecting operation 606, adjusting operation 616, and changing operation640 are, optionally, implemented by event sorter 170, event recognizer180, and event handler 190. Event monitor 171 in event sorter 170detects a contact on touch-sensitive display 112, and event dispatchermodule 174 delivers the event information to application 136-1. Arespective event recognizer 180 of application 136-1 compares the eventinformation to respective event definitions 186, and determines whethera first contact at a first location on the touch-sensitive surface (orwhether rotation of the device) corresponds to a predefined event orsub-event, such as selection of an object on a user interface, orrotation of the device from one orientation to another. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 optionally uses or calls dataupdater 176 or object updater 177 to update the application internalstate 192. In some embodiments, event handler 190 accesses a respectiveGUI updater 178 to update what is displayed by the application.Similarly, it would be clear to a person having ordinary skill in theart how other processes can be implemented based on the componentsdepicted in FIGS. 1A-1B.

In accordance with some embodiments, FIG. 11 shows a functional blockdiagram of an electronic device 1100 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software,firmware, or a combination thereof to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 11 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 11, an electronic device 1100 includes a display unit1102 configured to display a user interface, a touch-sensitive surfaceunit 1104 configured to receive contacts, and a processing unit 1010coupled with the display unit 1002 and the touch-sensitive surface unit1004. In some embodiments, the processing unit 1110 includes: a displaycontrol unit 1112, an input detecting unit 1114, and an option providingunit 1016 (which can be implemented as a user interface control unit orintegrated as part of the display control unit 1112 and/or inputdetecting unit 1014).

The processing device 1110 is configured to, while playing a first mediaitem in a queue of media items, detect (e.g., with the input detectingunit) a request to add a second media item to the queue.

The processing device 1110 is configured to, in accordance with adetermination that the first media item meets group-sensitive queueingcriteria, wherein the group-sensitive queuing criteria include acriterion that is met when the first media item is part of a predefinedgroup of media items in the queue, provide an option (e.g., with theoption providing unit 1116) to add the second media item to the queueafter the media items in the predefined group that are in the queueafter the first media item. In some embodiments, the processing device1110 is configured to provide an option (e.g., with the option providingunit 1116) to add the second media item to the queue after the firstmedia item and before the media items in the predefined group that arein the queue after the first media item.

The processing device 1110 is configured to, in accordance with adetermination that the first media item does not meet thegroup-sensitive queueing criteria, provide an option (e.g., with theoption providing unit 1116) to add the second media item to the queueafter the first media item. In some embodiments, the processing unit1110 is configured to hide, or not provide (e.g., with the optionproviding unit 1116), an option to add the second media item to thequeue after the media items that are in the queue. In some embodiments,the processing device 1110 is configured to provide an option (e.g.,with the option providing unit 1116) to add the second media item to thequeue after a first plurality of media items that are in the queue andbefore a second plurality of media items that are in the queue.

In some embodiments, the processing device 1110 is configured to display(e.g., with the display control unit 1112) a list including a pluralityof elements respectively associated with one or more of the media itemsin the queue. In some embodiments, each of the plurality of elementsincludes an icon and identifying text respectively associated with theone or more of the media items in the queue. In some embodiments, theplurality of elements includes a first element associated with all ofthe other media items in the predefined group that are in the queueafter the first media item and a second element associated with thesecond media item. In some embodiments, the plurality of elementsinclude a first set of elements associated with all of the other mediaitems in the predefined group that are in the queue after the firstmedia item and a second set of elements associated with the second mediaitem, wherein the first set of elements and the second set of elementsare visually separated on the display unit 1102. In some embodiments,the processing device 1110 is configured to display the list in responseto detecting an input (e.g., with the input detecting unit 1114)interacting with an image associated with the first media item.

In some embodiments, the processing device 1110 is configured to detectan ordering input (e.g., with the input detecting unit) dragging one ofthe plurality of elements and change an order of the media items in thequeue in accordance with the ordering input. In some embodiments, theprocessing device 1110 is configured to detect a removing input swipingone of the plurality of elements and remove one or more of the mediaitems in queue in accordance with the removing input.

In some embodiments, the processing device 1110 is configured to disablea non-linear playback function in response to the second media itembeing added to the queue and to enable the non-linear playback functionin response to playing the second media item.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 11) orapplication specific chips.

The operations described above with reference to FIGS. 7A-7E are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.11. For example, detecting operation 702, providing operation 704, andproviding operation 708 are, optionally, implemented by event sorter170, event recognizer 180, and event handler 190. Event monitor 171 inevent sorter 170 detects a contact on touch-sensitive display 112, andevent dispatcher module 174 delivers the event information toapplication 136-1. A respective event recognizer 180 of application136-1 compares the event information to respective event definitions186, and determines whether a first contact at a first location on thetouch-sensitive surface (or whether rotation of the device) correspondsto a predefined event or sub-event, such as selection of an object on auser interface, or rotation of the device from one orientation toanother. When a respective predefined event or sub-event is detected,event recognizer 180 activates an event handler 190 associated with thedetection of the event or sub-event. Event handler 190 optionally usesor calls data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

In accordance with some embodiments, FIG. 12 shows a functional blockdiagram of an electronic device 1200 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software,firmware, or a combination thereof to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 12 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 12, an electronic device 1200 includes a display unit1202 configured to display a user interface, a touch-sensitive surfaceunit 1204 configured to receive contacts, a storage unit 1206 configuredto store one or more media items, and a processing unit 1210 coupledwith the display unit 1202, the touch-sensitive surface unit 1204, andthe storage unit 1206. In some embodiments, the processing unit 1210includes: a display control unit 1212, an input detecting unit 1214, anda storage control unit 1216.

The processing unit 1210 is configured to, while a plurality of mediaitems are stored on the storage unit 1206, detect (e.g., with thestorage control unit 1216) the occurrence of a condition thatcorresponds to a request to free storage on the storage unit 1206,wherein the plurality of media items uses a first amount of storage onthe storage unit 1206 and a minimum amount of storage on the storageunit 1206 has been reserved for media items. In some embodiments, theprocessing device 1210 is configured to receive (e.g., with the inputdetecting unit 1214) a request to store an additional one or more mediaitems on the device, wherein the additional one or more media itemswould use a second amount of storage on the device, and determine (e.g.,with the storage control unit 1216) that the second amount of storage isgreater than an available amount of storage on the storage unit 1206. Insome embodiments, the processing device 1210 is configured to detect(e.g., with the input detecting unit 1214) a user interaction with adisplayed increase free space affordance.

The processing device 1210 is configured to, in accordance with adetermination that the first amount of storage on the storage unit 1206is greater than the minimum amount of storage on the storage unit 1206that has been reserved for media items, delete (e.g., with the storagecontrol unit 1216) one or more of the plurality of media items.

The processing device 1210 is configured to, in accordance with adetermination that the first amount of storage on the storage unit 1206is less than the minimum amount of storage on the storage unit 1206 thathas been reserved for media items, forgo deleting (e.g., with thestorage control unit 1216) one or more of the plurality of media items.

In some embodiments, the processing device 1210 is configured to display(e.g., with the display control unit 1212), on the display unit 1202, anoptimize storage affordance. In some embodiments, the processing device1210 is configured to detect (e.g., with the input detecting unit 1214)an input interacting with an optimization affordance displayed in asettings menu. In some embodiments, the processing device 1210 isconfigured to detect (e.g., with the input detecting unit 1214) an inputinteracting with an optimization affordance displayed in a storage fullnotification.

In some embodiments, the processing device 1210 is configured to, inresponse to detecting an input interacting with the optimize storageaffordance, display (e.g., with the display control unit 1212), on thedisplay unit 1202, a plurality of minimum media storage optionaffordances corresponding to a plurality of minimum media storagevalues. In some embodiments, the plurality of minimum media storagevalues are based on a total amount of storage on the storage unit 1206.

In some embodiments, the processing device 1210 is configured to, inresponse to detecting an input interacting with a particular one of theminimum media storage option affordances corresponding to a particularone of the minimum media storage values, set (e.g., with the storagecontrol unit 1216) the minimum amount of storage on the storage unit1206) that has been reserved for media items to the particular one ofthe minimum media storage values.

In some embodiments, the processing device 1210 is configured todetermine (e.g., with the storage control unit 1216) that the minimumamount of storage on the storage unit 1206 that has been reserved formedia items is less than a current amount of storage on the storage unit1206 used by media files. In some embodiments, the processing device1210 is configured to display (e.g., with the display control unit1212), on the display unit 1202, a notification indicating the currentamount of storage on the storage unit 1206 used by media items.

In some embodiments, the processing device 1210 is configured todetermine (e.g., with the storage control unit 1216) that the minimumamount of storage on the storage unit 1206 that has been reserved formedia items is greater than a current amount of storage on the storageunit 1206 used by media files. In some embodiments, the processingdevice 1210 is configured to forgo displaying (e.g., with the displaycontrol unit 1212), on the display unit 1202, a notification indicatingthe current amount of storage on the storage unit 1206 used by mediaitems.

In some embodiments, the processing device 1210 is configured to display(e.g., with the display control unit 1212), on the display unit 1202, amanual storage management affordance. In some embodiments, theprocessing device 1210 is configured to, in response to detecting aninput interacting with the manual storage management affordance, display(e.g., with the display control unit 1212), on the display unit 1202, amanual storage management user interface including a list of media itemdata regarding a plurality of media items and a delete affordance fordeleting one or more of the plurality of media items. In someembodiments, a set of the plurality of media items corresponding to analbum are listed together. In some embodiments, the plurality of mediaitems are prioritized according to size of the media items and/orlistening history of the media items. In some embodiments, the manualstorage management user interface includes a selection affordance forselecting or deselecting one or more of the plurality of media items.

In some embodiments, the processing device 1210 is configured to, inresponse to detecting an input interacting with an add affordance foradding one or more media items to a library, display (e.g., with thedisplay control unit 1212), on the display unit 1202, an auto-addaffordance for storing media items in the library on the storage unit1206. In some embodiments, the one or more media items are displayedwith a location region, the location region including the add affordancewhen the media items are not in the library, the location regionincluding a download affordance when the media items are in the librarybut not stored on the storage unit 1206, and the location region beingempty when the media items are stored on the storage unit 1206.

In some embodiments, the processing device 1210 is configure to display(e.g., with the display control unit 1212), on the display unit 1202, alist of playlist selection affordances for synching a set of media itemswith the device, the list of playlist selection affordances including asmart playlist selection affordance for synching an algorithmicallyselected set of media items, a random playlist selection affordance forsynching a random set of media items with the user device, and a userplaylist selection affordances for synching a user-selected set of mediaitems. In some embodiments, the processing device 1210 is configured todetect (e.g., with the input detecting unit 1214) an input interactingwith the user playlist selection affordance. In some embodiments, theprocessing device 1210 is configured to, in accordance with adetermination that a size of the user-selected set of media items isgreater than an amount of available storage on the storage unit 1206,display (e.g., with the display control unit 1212), on the display 1202,a notification indicating that at least some of the user-selected set ofmedia items will not be stored on the storage unit 1206.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 12) orapplication specific chips.

The operations described above with reference to FIGS. 8A-8D are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.11. For example, detecting operation 802, deleting operation 808, andforgoing operation 810 are, optionally, implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface (or whether rotation of the device) correspondsto a predefined event or sub-event, such as selection of an object on auser interface, or rotation of the device from one orientation toanother. When a respective predefined event or sub-event is detected,event recognizer 180 activates an event handler 190 associated with thedetection of the event or sub-event. Event handler 190 optionally usesor calls data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

In accordance with some embodiments, FIG. 13 shows a functional blockdiagram of an electronic device 1300 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software,firmware, or a combination thereof to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 13 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 13, an electronic device 1300 includes a display unit1302 configured to display a user interface, a touch-sensitive surfaceunit 1304 configured to receive contacts, and a processing unit 1310coupled with the display unit 1302 and the touch-sensitive surface unit1304. In some embodiments, the processing unit 1310 includes: a displaycontrol unit 1312, an input detecting unit 1314, and a playlist updatingunit 1316.

The processing device 1310 is configured to display (e.g., with thedisplay control unit 1312), on the display unit 1302, a representationof a first automatically-generated playlist, the representation of thefirst automatically-generated playlist including representations of afirst set of media items selected for inclusion in the firstautomatically-generated playlist based on first playlist generationcriteria for the first automatically-generated playlist. In someembodiments, the processing device 1310 is configured to display (e.g.,with the display control unit 1312), on the display unit 1302, a saveaffordance for saving the first set of media items as a non-updatedplaylist. In some embodiments, the processing device 1310 is configuredto display (e.g., with the display control unit 1312), on the displayunit 1302, a share affordance for sharing the first set of media itemswith another device as a shared playlist. In some embodiments, theprocessing device 1310 is configured to, in response to a first updatecriterion being met, update (e.g., using the playlist updating unit1316) the first set of media items of the shared playlist.

The processing device 1310 is configured to, while displaying therepresentation of the first automatically-generated playlist, detect(e.g., with the input detecting unit 1314) user interaction with therepresentations of the first set of media items. In some embodiments,the processing device 1310 is configured to, in response to detectinguser interaction with a representation of one of the first set of mediaitems, start playback of the one of the first set of media items.

The processing device 1310 is configured to detect (e.g., with theplaylist updating unit 1316) that a first update criterion for the firstautomatically-generated playlist has been met. In some embodiments, thefirst update criterion specifies that the first set of media items is tobe updated on predefined day of the week.

The processing device 1310 is configured to update (e.g., with theplaylist updating unit 1316) the first set of media items based on thefirst playlist generation criteria and the user interaction with therepresentations of the first set of media items by adding one or moreadded media items to the first set of media items, removing one or moreremoved media items from the first set of media items, and maintaining aplurality of maintained media items in the first set of media items. Insome embodiments, the added media items are selected (e.g., by theplaylist updating unit 1316) based on user-agnostic criteria anduser-specific criteria. In some embodiments, the removed media items areselected (e.g., by the playlist updating unit 1316) based onuser-specific criteria. In some embodiments, the maintained media itemsinclude a majority of the first set of media items. In some embodiments,a number of the added media items and a number of removed media itemsare selected (e.g., by the playlist updating unit 1316) such that a sizeof the first automatically-generated playlist is maintained within aplaylist size range. In some embodiments, the playlist size range is arange of a number of media items. In some embodiments, the playlist sizerange is a range of a duration time.

The processing device 1310 is configured to display (e.g., with thedisplay control unit 1312), on the display unit 1302, an updatedrepresentation of the first automatically-generated playlist thatincludes representations of the updated first set of media items. Insome embodiments, the processing device 1310 is configured to display(e.g., with the display control unit 1312), on the display unit 1302,one or more new media item indicators displayed in respectiveassociation with one or more representations of the added media items.In some embodiments, each new media item indicator includes a dot oricon displayed beside a respective representation of an added mediaitem. In some embodiments, each new media item indicator issubstantially similar to a new message indicator used to indicate newmessages in a messaging application of the device. In some embodiments,the processing device 1310 is configured to, in response to detecting aninput interacting with one of the representations of the added mediaitems, cease display (e.g., with the display control unit 1312) of acorresponding one of the one or more new media item indicators.

In some embodiments, the processing device 1310 is configured to display(e.g., with the display control unit 1312), on the display unit 1302, afirst playlist affordance for displaying the representation of the firstautomatically-generated playlist, the first playlist affordanceincluding a first plurality of images respectively associated with aplurality of the first set of media items.

In some embodiments, the processing device 1310 is configured to display(e.g., with the display control unit 1312), on the display unit 1302, anupdated first playlist affordance for displaying the updatedrepresentation of the first automatically-generated playlist, theupdated first playlist affordance including an updated first pluralityof images respectively associated with a plurality of the updated firstset of media items. In some embodiments, the processing device 1310 isconfigured to display (e.g., with the display control unit 1312), on thedisplay unit 1302, an update animation in which one or more of the firstplurality of images are replaced with one or more of the updated firstplurality of images.

In some embodiments, the processing device 1310 is configured to display(e.g., with the display control unit 1312), on the display unit 1302, arepresentation of a second automatically-generated playlist, therepresentation of the second automatically-generated playlist includingrepresentations of a second set of media items selected for inclusion inthe second automatically-generated playlist based on second playlistgeneration criteria for the second automatically-generated playlist. Insome embodiments, the second playlist generation criteria is differentfrom the first playlist generation criteria. In some embodiments, thefirst playlist generation criterion is a first theme selected from atheme set including new releases, older songs, or user favorites and thesecond playlist generation criterion is selected from the theme set. Insome embodiments, the processing device 1310 is configured to provide anoption (e.g., with the display control unit 1312) to select the firstplaylist generation criteria and the second playlist generationcriteria.

In some embodiments, the processing device 1310 is configured to, whiledisplaying the representation of the second automatically-generatedplaylist, detect (e.g., with the input detecting unit 1314) userinteraction with the representations of the second set of media items.

In some embodiments, the processing device 1310 is configured to detect(e.g., with the playlist updating unit 1316) that a second updatecriterion for the second automatically-generated playlist has been met.In some embodiments, the second update criterion is different from thefirst update criterion. In some embodiments, the first update criterionspecifies that the first automatically-generated playlist is to beupdated on a first day of the week and the second update criterionspecifies that the second playlist is to be updated on a second day ofthe week that is different from the first day of the week.

In some embodiments, the processing device 1310 is configured to updatee.g., with the playlist updating unit 1316) the second set of mediaitems based on the second playlist generation criteria and the userinteraction with the representations of the second set of media items.In some embodiments, a number of media items added to the second set ofmedia items is different from a number of the added media items added tothe first set of media items.

In some embodiments, the processing device 1310 is configured to display(e.g., with the display control unit 1312), on the display unit 1302, anupdated representation of the second automatically-generated playlist,the updated representation of the second automatically-generatedplaylist including representations of the updated second set of mediaitems.

In some embodiments, the first automatically-generated playlist is oneof seven automatically-generated playlists with seven different playlistgeneration criteria and seven different update criteria specifying thatthe respective automatically-generated playlist is to be updated on arespective day of the week.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 13) orapplication specific chips.

The operations described above with reference to FIGS. 9A-9E are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.13. For example, displaying operation 902, detecting operation 910,detecting operation 914, updating operation 918, and displayingoperation 932 are, optionally, implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface (or whether rotation of the device) correspondsto a predefined event or sub-event, such as selection of an object on auser interface, or rotation of the device from one orientation toanother. When a respective predefined event or sub-event is detected,event recognizer 180 activates an event handler 190 associated with thedetection of the event or sub-event. Event handler 190 optionally usesor calls data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best use the invention and variousdescribed embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method comprising: at a device with one or moreprocessors, non-transitory memory, a display, and an input device: whileplaying a first media item in a queue of media items, detecting arequest to add a second media item to the queue; and in response todetecting the request to add the second media item to the queue:displaying a first affordance to add the second media item to the queueafter the media items that are in the queue; and displaying a secondaffordance to add the second media item to the queue after the firstmedia item and before other media items that are in the queue.
 2. Themethod of claim 1, further comprising: detecting, via the input device,a user input at a location corresponding to the first affordance; and inresponse to detecting the user input at the location corresponding tothe first affordance, adding the second media item to an end of thequeue.
 3. The method of claim 2, further comprising: displaying anindication that the second media item has been added to the end of thequeue.
 4. The method of claim 2, further comprising: displaying, on thedisplay, a list of elements including: a first element, representing thefirst media item, that is displayed at a top of the list; a secondelement, representing the second media item, that is displayed at abottom of the list; and other elements, representing remainder of themedia items in the queue, that are displayed between the first elementand the second element.
 5. The method of claim 1, further comprising:detecting, via the input device, a user input at a locationcorresponding to the second affordance; and in response to detecting theuser input at the location corresponding to the second affordance,adding the second media item to the queue after the first media item andbefore other media items that are in the queue.
 6. The method of claim5, further comprising: displaying an indication that the second mediaitem will be played after the first media item has finished playing andbefore the other media items in the queue are played.
 7. The method ofclaim 5, further comprising: displaying, on the display, a list ofelements including: a first element, representing the first media item,that is displayed at a top of the list; a second element, representingthe second media item, that is displayed below the first element; andother elements, representing remainder of the media items in the queue,that are displayed below the second element.
 8. The method of claim 1,wherein detecting the request to add the second media item to the queuecomprises: displaying, on the display, a representation of the secondmedia item while the first media item is being played; detecting, viathe input device, a user input at a location corresponding to therepresentation of the second media item; and displaying the firstaffordance and the second affordance in response to detecting the userinput at the location corresponding to the representation of the secondmedia item.
 9. The method of claim 1, wherein the first media item is apart of a playlist, and the second media item is not a part of theplaylist.
 10. The method of claim 1, wherein the first media item is apart of an album, and the second media item is not a part of the album.11. A device comprising: a display; an input device; non-transitorymemory; and one or more processors coupled with the display, the inputdevice and the non-transitory memory, the one or more processors beingconfigured to: while playing a first media item in a queue of mediaitems, detect a request to add a second media item to the queue; and inresponse to detecting the request to add the second media item to thequeue: display a first affordance to add the second media item to thequeue after the media items that are in the queue; and display a secondaffordance to add the second media item to the queue after the firstmedia item and before other media items that are in the queue.
 12. Thedevice of claim 11, wherein the one or more processors are furtherconfigured to: detect, via the input device, a user input at a locationcorresponding to the first affordance; and in response to detecting theuser input at the location corresponding to the first affordance, addthe second media item to an end of the queue.
 13. The device of claim12, wherein the one or more processors are further configured to:display an indication that the second media item has been added to theend of the queue.
 14. The device of claim 12, wherein the one or moreprocessors are further configured to: display, on the display, a list ofelements including: a first element, representing the first media item,that is displayed at a top of the list; a second element, representingthe second media item, that is displayed at a bottom of the list; andother elements, representing remainder of the media items in the queue,that are displayed between the first element and the second element. 15.The device of claim 11, wherein the one or more processors are furtherconfigured to: detect, via the input device, a user input at a locationcorresponding to the second affordance; and in response to detecting theuser input at the location corresponding to the second affordance, addthe second media item to the queue after the first media item and beforeother media items that are in the queue.
 16. The device of claim 15,wherein the one or more processors are further configured to: display anindication that the second media item will be played after the firstmedia item has finished playing and before the other media items in thequeue are played.
 17. The device of claim 15, wherein the one or moreprocessors are further configured to: display, on the display, a list ofelements including: a first element, representing the first media item,that is displayed at a top of the list; a second element, representingthe second media item, that is displayed below the first element; andother elements, representing remainder of the media items in the queue,that are displayed below the second element.
 18. The device of claim 11,wherein detecting the request to add the second media item to the queuecomprises: displaying, on the display, a representation of the secondmedia item while the first media item is being played; detecting, viathe input device, a user input at a location corresponding to therepresentation of the second media item; and displaying the firstaffordance and the second affordance in response to detecting the userinput at the location corresponding to the representation of the secondmedia item.
 19. The device of claim 11, wherein the first media item isa part of a playlist, and the second media item is not a part of theplaylist.
 20. A non-transitory computer readable storage medium storingone or more programs, the one or more programs comprising instructions,which, when executed by an electronic device with a display, and aninput device, cause the electronic device to: while playing a firstmedia item in a queue of media items, detect a request to add a secondmedia item to the queue; and in response to detecting the request to addthe second media item to the queue: display a first affordance to addthe second media item to the queue after the media items that are in thequeue; and display a second affordance to add the second media item tothe queue after the first media item and before other media items thatare in the queue.